如何统计出来一个表内某个字段的每个值都有几条数据?

qq_29194957 2016-08-08 08:18:02
表 table_a
id int,
flag int

这个flag字段一共10种情况,分别为1-10.例如:

id flag
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 2
12 5


我现在想统计一个flag=1有几条,flag=2有几条,一直到flag=10有几条。
如果遇到没有条目的,就显示0条。

有没有速度最快的办法?因为每次用户登录的第一个界面就显示这些进度一共有多少条,又不想新建一个表来储存这些,请问有没有好的办法?谢谢
...全文
885 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
chengp... 2016-08-08
  • 打赏
  • 举报
回复
select count(flag),max(flag) from c group by flag order by flag;
卖水果的net 版主 2016-08-08
  • 打赏
  • 举报
回复
select sum(case when flag = 0 then 1 else 0 end) as flag0 , sum(case when flag = 1 then 1 else 0 end) as flag1 , sum(case when flag = 2 then 1 else 0 end) as flag2 -- 一直加到第 flag = 10 from t

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧