《统计本周中每一天的status字段的值为0,1,2,3的人数各有多少》sql语句怎么写啊?

出现又离开亅 2021-03-23 07:43:40


实现这样的功能,请各位大神指教
...全文
293 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hbhbhbhbhb1021 2021-03-24
  • 打赏
  • 举报
回复
试了下二楼的方法,是不是我哪块用错了,返回的值每天都是一样的,也就是说c0,c1,c2,c3都是每天的数量,全部相等了 下面这个是可以的,我试过了
SELECT
	create_date,
	sum(case when STATUS = '0' then'1' else '0' end)  c0 ,
	sum(case when STATUS = '1' then '1' else '0'  end)  c1,
	sum(case when STATUS = '2' then '1' else '0'  end)  c2,
	sum(case when STATUS = '3' then '1' else '0'  end)  c3
FROM
	user_status
WHERE
	create_date < STR_TO_DATE('2021/03/24', '%Y/%m/%d')
AND create_date >= STR_TO_DATE('2021/03/17', '%Y/%m/%d')
GROUP BY
	create_date
ORDER BY
	create_date
起名伤脑 2021-03-24
  • 打赏
  • 举报
回复
group by
出现又离开亅 2021-03-24
  • 打赏
  • 举报
回复
谢谢谢谢,已经做完了,可以下班了,谢谢各位,向各位学习!
丶轩 2021-03-24
  • 打赏
  • 举报
回复
要学会举一反三啊
丶轩 2021-03-24
  • 打赏
  • 举报
回复
- - 3楼的改造一下就好了 SELECT create_date, sum(case when STATUS = '0' then'1' else '0' end) c0 , sum(case when STATUS = '1' then '1' else '0' end) c1, sum(case when STATUS = '2' then '1' else '0' end) c2, sum(case when STATUS = '3' then '1' else '0' end) c3 FROM user_status WHERE create_date < STR_TO_DATE('2021/03/24', '%Y/%m/%d') AND create_date >= STR_TO_DATE('2021/03/17', '%Y/%m/%d') GROUP BY DATE_FORMAT(create_date ,"%Y-%m-%d") ORDER BY create_date
出现又离开亅 2021-03-24
  • 打赏
  • 举报
回复
试了下3楼的方法,有一天的数据会有重复。
出现又离开亅 2021-03-24
  • 打赏
  • 举报
回复
感谢各位大神们的回复
zgw0401 2021-03-24
  • 打赏
  • 举报
回复
SELECT DATE_FORMAT(create_time,'%m-%d') as time,status,count(id)
FROM table
WHERE create_time<=#{endTime} and create_time>=#{startTime}
GROUP BY time,status
ORDER BY time asc
SZ_John 2021-03-23
  • 打赏
  • 举报
回复
select day,count(status = 0) c0,count(status=1) c from t_table group by day

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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