现有 表A
id num time
1 5 2021-8-1
2 7 2021-8-1
3 2 2021-7-3
1 11 2021-8-1
2 10 2021-7-17
1 2 2021-7-24
现需查询出数据为
id today(num) sum(num)
1 16 18
2 7 17
我自己写的mysql语句提示行数对不上,现在不知道该怎么写了
你的测试数据
select sum(num) AS total, id,time from A where time = now() group by id,time;
select sum(num) AS total, id,time from A where time != now() group by id,time;
连接一下就行了。
select * from (select sum(num) AS today, id,time from A where time = date(now()) group by id,time) a,
(select sum(num) AS history, id,time from A where time != date(now()) group by id,time) b
where a.id=b.id