ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 一个sql语句求解

一个sql语句求解

原创 Linux操作系统 作者:杨奇龙 时间:2010-07-09 18:34:41 0 删除 编辑

今天遇到面试 遇到一个题目如下:
一个表A
  ID     CF
  001   人口
  002   车辆
  001   人口
  002   车辆
  001   人口
编写一个sql语句实现如下结果
  ID   人口   车辆
  001   3      0
  002   0      2
------------------------------解决方法------------------------
SQL> create table yang (id number,name varchar2(10));
表已创建。
SQL> insert into yang values (001,'人口');
已创建 1 行。
SQL> insert into yang values (001,'人口');
已创建 1 行。
SQL> insert into yang values (001,'人口');
已创建 1 行。
SQL> insert into yang values (002,'车辆');
已创建 1 行。
SQL> insert into yang values (002,'车辆');
已创建 1 行。
SQL> commit;
提交完成。
SQL> select
  2  id,
  3  count(decode(name,'人口',name)) as "人口",
  4  count(decode(name,'车辆',name)) as "车辆"
  5  from yang group by id;
        ID       人口       车辆                                               
---------- ---------- ----------                                               
         1          3          0                                               
         2          0          2                                               

 

1.jpg

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22664653/viewspace-667681/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: SQL 面试题
请登录后发表评论 登录
全部评论
MySQL DBA NoSQL DEVOPS

注册时间:2009-10-07

  • 博文量
    1026
  • 访问量
    8206008