sql查询 一个表 ID type 1 aaa 2 aaa 3 bbb 4 ccc 5 ccc 6 ddd 7 eee 8 eee .ID a字段 b字段 要求这样显示:1 aaa 111 a字段 总数 b字段(111有多少条) b字段(222有多少条)2 aaa 222 aaa 2 1 13 bbb 333 bbb 1 0 04 ccc 333 ccc
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/08 03:41:01
sql查询 一个表 ID type 1 aaa 2 aaa 3 bbb 4 ccc 5 ccc 6 ddd 7 eee 8 eee .ID a字段 b字段 要求这样显示:1 aaa 111 a字段 总数 b字段(111有多少条) b字段(222有多少条)2 aaa 222 aaa 2 1 13 bbb 333 bbb 1 0 04 ccc 333 ccc
sql查询 一个表 ID type 1 aaa 2 aaa 3 bbb 4 ccc 5 ccc 6 ddd 7 eee 8 eee .
ID a字段 b字段 要求这样显示:
1 aaa 111 a字段 总数 b字段(111有多少条) b字段(222有多少条)
2 aaa 222 aaa 2 1 1
3 bbb 333 bbb 1 0 0
4 ccc 333 ccc 2 0 1
5 ccc 111 ddd 1 0 1
6 ddd 222 eee 2 0 1
7 eee 222
8 eee 333
.
按a字段group by
sql语句怎么写?
sql查询 一个表 ID type 1 aaa 2 aaa 3 bbb 4 ccc 5 ccc 6 ddd 7 eee 8 eee .ID a字段 b字段 要求这样显示:1 aaa 111 a字段 总数 b字段(111有多少条) b字段(222有多少条)2 aaa 222 aaa 2 1 13 bbb 333 bbb 1 0 04 ccc 333 ccc
SELECT
a字段,
COUNT( 1 ) AS 总数,
SUM ( CASE WHEN b字段 = 111 THEN 1 ELSE 0 END ) AS [b字段(111有多少条)],
SUM ( CASE WHEN b字段 = 222 THEN 1 ELSE 0 END ) AS [b字段(222有多少条)]
FROM
表
group by
a字段
注:
Oracle ,DB2,SQL Server,MySQL 都是可以使用的.
如果你数据库是 ACCESS,那么上面的 CASE WHEN 就要出错了.