【发布时间】:2020-09-27 23:43:41
【问题描述】:
我想计算每个月内不同日期的数量。
我有一个如下所示的数据集:
TIMESTAMP
------------------
2017-10-25 14:39:51
2017-10-25 15:00:51
2017-11-10 02:39:42
2018-09-24 14:39:55
2018-09-25 13:25:01
2019-02-12 12:23:44
...
所以我的预期输出是:
year_month | count
2017-10 2
2018-09 2
2019-02 1
到目前为止,我已经尝试了以下代码,但它返回的结果不正确:
WITH F AS(
SELECT concat(YEAR(TIMESTAMP), MONTH(TIMESTAMP)) AS year_month
FROM tbl
WHERE TYPE = 'Site'
AND TO_SITE = 'location'
)
SELECT count(year_month), year_month
FROM F
GROUP BY year_month
我不需要担心一天中的时间。我只想计算每个月不同的日子。提前感谢您的帮助。
【问题讨论】:
-
解决方案取决于使用的数据库系统。每个都有自己的 SQL 方言。日期时间函数差异很大,尤其是。
标签: sql sql-server