Pir*_*e X 3 sql t-sql sql-server
我有以datetime格式存储的数据,即2016-01-20 03:00:11.000.
我的目标是以月(字符串)格式显示数据并按月显示.
我想得到什么(按月份排序) -
+----------+-------+
| Month | Count |
+----------+-------+
| January | 87 |
| February | 64 |
| March | 48 |
| April | 67 |
| May | 49 |
+----------+-------+
... rest of months
Run Code Online (Sandbox Code Playgroud)
我得到了什么(按字母排序而不是几个月) -
+-----------+-------+
| Month | Count |
+-----------+-------+
| April | 87 |
| August | 64 |
| December | 48 |
| February | 67 |
| January | 49 |
| July | 41 |
| June | 44 |
| March | 71 |
| May | 62 |
| November | 51 |
| October | 44 |
| September | 48 |
+-----------+-------+
Run Code Online (Sandbox Code Playgroud)
我的尝试 -
SELECT DATENAME(MONTH,[mydate]) as Month, count([ID]) AS Count
FROM [dbo].[mytable]
group by DATENAME(MONTH,[mydate])
Run Code Online (Sandbox Code Playgroud)
尝试订购(不工作) -
SELECT DATENAME(MONTH,[mydate]) as Month, count([mydate]) AS Count
FROM [dbo].[mytable]
group by DATENAME(MONTH,[mydate])
ORDER BY MONTH([mydate])
Run Code Online (Sandbox Code Playgroud)
由于未正确使用聚合函数而导致此错误
它不包含在聚合函数或GROUP BY子句中.
我不知道如何在这种情况下继续进行.任何帮助表示赞赏.
您还需要按月份编号分组:
SELECT DATENAME(MONTH,[mydate]) as Month,
count([mydate]) AS DateCount
FROM [dbo].[mytable]
GROUP BY MONTH([mydate]),
DATENAME(MONTH,[mydate])
ORDER BY MONTH([mydate])
Run Code Online (Sandbox Code Playgroud)
注意:不要把你的计数称为Count,因为它是一个保留字.使用DateCount或其他.
| 归档时间: |
|
| 查看次数: |
687 次 |
| 最近记录: |