我有一个包含admission_date和student_status列的学生表,我想获得特定年份的每个月的全部入场许可,而admission_date列类型是DateTime。即如何获取特定月份的数据sql
**Month** **Total_Admission**
Jan-2016 90
Feb-2016 70
Mar-2016 109
我有一个包含admission_date和student_status列的学生表,我想获得特定年份的每个月的全部入场许可,而admission_date列类型是DateTime。即如何获取特定月份的数据sql
**Month** **Total_Admission**
Jan-2016 90
Feb-2016 70
Mar-2016 109
与下面的查询尝试。
SELECT replace(right(convert(varchar, admission_date, 106), 8), ' ', '-') Month,COUNT(*) TotalAdmissions
FROM yourTable
WHERE YEAR(admission_date) = 2016
GROUP BY replace(right(convert(varchar, admission_date, 106), 8), ' ', '-')
您可以使用extract(year_month...
检索每月统计。事情是这样的:
SELECT
extract(year_month FROM date(admission_date)) month,
count(*) total_admission
FROM your_table;
尝试这样做:
SELECT COUNT(*) AS admission_total
FROM yourTable
GROUP BY MONTH(admission_date)
试试这个:
SELECT LEFT(DATENAME(MONTH,admission_date),3)+'-2016' as MonthNumber,COUNT(*) TotalAdmissions
FROM TableName
WHERE YEAR(admission_date) = 2016
GROUP BY LEFT(DATENAME(MONTH,admission_date),3)+'-2016'
其获得每个日期的招生,但我想,因为它不是在聚合函数或GROUP BY子句中包含每个月 –
列“Student.admission_date”在选择列表中无效。 –
是的,我已经尝试过,但我可以得到它像jan-2016 –