我有一个表格,其中有5列,
id (auto incrementing number), titleId, version, created_at
titleId和版本的组合始终是唯一的。我想找出过去1个月中的每一天,每天有多少个唯一的titleId,以及每天有多少个条目。这是因为在给定的一天中,可能会有同一titleId的多个版本。
select count(*) from titles where created_at >= '2019-08-12 00:00:00' and created_at <= '2019-08-13 00:00:00' will give me total number of titles which came on 12th August
和
select count(distinct titleId) from titles where created_at >= '2019-08-12 00:00:00' and created_at <= '2019-08-13 00:00:00'
将会给我8月12日的独特头衔的数量。我有办法生成过去30/60天的数据吗?
我知道我可以通过更改日期来获取数字来手动运行30次此命令,但是我想知道在mysql中是否有更好的方法可以做到这一点
答案 0 :(得分:1)
只要每天都有一个条目,此查询应为您提供最近30天的每天数据:
select date(created_at) as cdate, count(distinct titleId) as cnt
from titles
where created_at >= cur_date() - interval 30 day
group by cdate