MySql同一张表各个状态的项目数量筛选查询

表中有几个可以筛选的字段:is_locked, is_finished, is_deleted,如果用一条sql语句同时统计这个表中的所有状态的项目的数量:

SELECT count(table.id) as total,

count(CASE table.is_finished WHEN 1 THEN 1 END) AS finished,

count(CASE table.is_locked WHEN 0 THEN 1 END ) AS unlocked,

count(CASE table.is_deleted WHEN 1 THEN 1 END ) AS deleted

FROM table;

查询结果:

total    finished   unlocked   deleted

100         30            30                2

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,448评论 0 10
  • The Inner Game of Tennis W Timothy Gallwey Jonathan Cape ...
    网事_79a3阅读 12,278评论 3 20
  • 昨晚上山时间晚,汽车盘山时伴着雷雨闪电,开车师傅说,这里很高,风景也很美。因为天黑,所有的期待,都留到第...
    满满妈妈阅读 246评论 0 0
  • 害怕清明,从父亲离开的那一天开始。 早些年,在农村,我和弟弟还小。每年的清明节,都是大伯或者小叔带着我们姐弟俩到父...
    燕语诗心阅读 252评论 1 2
  • 晚饭后千篇一律的走步路线有些厌了,今天下楼后踟蹰了一下,决定改变路线,欣赏一下不一样的风景。 脚下左转的脚步转向右...
    善下归海阅读 432评论 0 8