sql - 在 SQL 中使用 Month(dateField) 统计每个月的记录
问题描述
我有一个包含 c650,000 条记录的大表。他们是拥有电子邮件地址的个人,其中一个字段是“dateOfApplication”。我被要求详细说明每个月有多少人注册。
我希望结果看起来像
Month Year Total
1 2017 50763
2 2017 34725
并以这种格式制作了一个目标表来放入结果。我已经能够使用 Month(dateOfApplication) 来获取使用日期的月份部分
SELECT DISTINCT
(SELECT COUNT(1) FROM [UG_Master]
WHERE MONTH([UG_Master].dateOfApplication) = '6') as Total
返回特定月份,但不知道如何为它找到的每个月获取一行。
解决方案
但真的不知道如何为它找到的每个月获取一行。
您可以使用GROUP BY
:
SELECT MONTH([UG_Master].dateOfApplication), COUNT(1)
FROM [UG_Master]
GROUP BY MONTH([UG_Master].dateOfApplication);
如果你想要year
wise month
,那么还包括 year :
SELECT YEAR([UG_Master].dateOfApplication), MONTH([UG_Master].dateOfApplication), COUNT(1)
FROM [UG_Master]
GROUP BY YEAR([UG_Master].dateOfApplication), MONTH([UG_Master].dateOfApplication);
推荐阅读
- javascript - 如何获取所有嵌套的子数组对象
- c++ - 测试 3D 点是否带有挤出的“2.5D”多边形
- c# - 将空参数传递给存储过程
- python-3.x - 如何在 Python 中允许在没有类名的情况下从外部访问类属性?
- machine-learning - 有没有什么快速又好的方法来为机器学习模型创建仪表板?
- java - Apache spark 在循环中卡住了。我究竟做错了什么?
- machine-learning - 自动编码器:找到重要的神经元
- gps - 如何仅使用 GPS 数据识别公交车站?
- python-3.x - 使用python解析浏览器发出的请求
- c# - 如何将 UTF16LE 转换为字符串 C#?