sql求 当前系统时间一个月前每天的预警台数
1.需求:当前系统时间一个月前每天的预警台数
2.现在我写的SQL只会显示出有数据的日期的总条数,求大佬们加个条件
没有条数的日期也显示出来 条数显示为0
SELECTaed_warn.lasttime,
count( aed_warn.id ) AS number
FROM
aed_warn
LEFT JOIN aed_device ON aed_warn.deviceid = aed_device.id
WHERE
aed_device.setupcity = "深圳市"
AND aed_warn.lasttime BETWEEN ( SELECT DATE_ADD( now( ), INTERVAL - 1 MONTH ) )
AND now( )
GROUP BY
lasttime;
回答
你的意思是不是表中没有日期要构造一个虚拟的日期出来
SELECT d.`date`FROM
(
SELECT DATE_FORMAT(DATE_ADD( NOW(), INTERVAL -t.help_topic_id DAY ),'%Y-%m-%d') AS 'date'
FROM mysql.help_topic t
WHERE t.help_topic_id<=DATEDIFF(NOW(),DATE_ADD( NOW(), INTERVAL - 1 MONTH ))
) AS d
ORDER BY d.`date`
你可以用这个日期表left join你的业务表
以上是 sql求 当前系统时间一个月前每天的预警台数 的全部内容, 来源链接: utcz.com/a/40660.html