Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取特定月份的数据sql_Sql_Join_Group By - Fatal编程技术网

如何获取特定月份的数据sql

如何获取特定月份的数据sql,sql,join,group-by,Sql,Join,Group By,我有一个包含“入学日期”和“学生状态”列的学生表,我希望获得特定年份每个月的总入学人数,而“入学日期”列类型为“日期时间”。i、 e **Month** **Total_Admission** Jan-2016 90 Feb-2016 70 Mar-2016 109 您可以使用extract(year\u month…每月检索统计数据。类似于: SELECT extract(year_month FROM

我有一个包含“入学日期”和“学生状态”列的学生表,我希望获得特定年份每个月的总入学人数,而“入学日期”列类型为“日期时间”。i、 e

**Month**      **Total_Admission**
Jan-2016             90
Feb-2016             70
Mar-2016             109
您可以使用
extract(year\u 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'

尝试下面的查询

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), ' ', '-') 

它获取每个日期的录取信息,但我希望每个月的“Student.Acmission_date”列在选择列表中无效,因为它既不包含在聚合函数中,也不包含在GROUP BY子句中。是的,我以前尝试过,但我可以像jan一样获取它-2016@UsfNoor更新的Ans