SQL组按星期几日期并获得计数

时间:2018-11-19 19:48:52

标签: sql sql-server date datetime group-by

我的桌子上有一堆日期,我需要将这些日期转换成星期几,然后将它们分组。

示例输出如下

+------------+-------+
|    Date    | Count |
+------------+-------+
| 11/12/2018 |     1 |
| 11/19/2018 |     2 |
| 11/20/2018 |     1 |
| 11/21/2018 |     2 |
+------------+-------+

我想要的输出是

+-----------+-------+
|  DayName  | Count |
+-----------+-------+
| Monday    |     3 |
| Tuesday   |     1 |
| Wednesday |     2 |
+-----------+-------+

我只是不确定如何将日期重命名为星期几并将它们分组在一起。

1 个答案:

答案 0 :(得分:6)

使用datename函数提取工作日的“名称”:

SELECT DATENAME(WEEKDAY, Date), COUNT(*)
FROM t
GROUP BY DATENAME(WEEKDAY, Date)