我需要将我的表分组为 15 分钟的间隔。我可以这样做:
select dateadd(minute, datediff(minute, 0, ts) / 15 * 15, 0), sum (goodpieces)
from StationCount
Group by dateadd(minute, datediff(minute, 0, ts) / 15 * 15, 0)
但要在图表中显示返回的数据,我还需要插入没有任何数据且当前未出现在我的 select 语句中的间隔。我该如何插入这些?
创建一个表,其中包含以 15 分钟为增量的每个可能的时间戳,然后从该表与上面的查询执行 LEFT JOIN。
SELECT * FROM timestamps LEFT JOIN (SELECT dateadd......) ON timestamps.timestamp = StationCount.ts
如果您知道图表始终涵盖 24 小时时间段,则只需创建一个包含数字 0-95 的表格,然后对于每个条目将其添加到图表的开始时间。
SELECT *
FROM (SELECT dateadd(minute, <starttime>, number*15) timestamp FROM numbers) timestamps LEFT JOIN
(SELECT dateadd......) ON timestamps.timestamp = StationCount.ts
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)