id(int)
dated_on(datetime)
(many_more)
具有表数千由ID分组数据。
I want result as id, count of that id,
also count of id having date difference is week.(i.e. count of data last week)
id(int)
dated_on(datetime)
(many_more)
具有表数千由ID分组数据。
I want result as id, count of that id,
also count of id having date difference is week.(i.e. count of data last week)
select
id,
count(id) as cnt,
sum(if(now() - interval 7 day <= dated_on,1,0)) as lastweek
from table
group by id
SELECT
id,
COUNT(*),
SUM(CASE WHEN dated_on = CURDATE() - 7 THEN 1 ELSE 0 END)
FROM
yourTable
GROUP BY
id
我也得到了解决:
SELECT id, count(id) as counter,
COUNT(CASE WHEN DATEDIFF(CURDATE(), dated_on) < 7 THEN 1 ELSE NULL END) AS latest_count
FROM my_table
GROUP BY id
它会给出具有差异日期只有数正好为7 – 2012-01-07 12:20:36
@SomnathMuluk - 这是故意的,这似乎是什么OP要求...'有日期差异是星期' – MatBailie 2012-01-07 13:32:42
@ Dems-k ...对不起...我道歉...有时我不记得我的问题?但我记得我的要求... – 2012-01-08 05:24:26