2016-10-04 4 views
3

У меня есть таблица для студентов, которая содержит столбец admission_date и student_status, я хочу получить полный доступ к каждому месяцу определенного года, а тип столбца admission_date - DateTime. т.е.Как получить данные определенного месяца sql

**Month**  **Total_Admission** 
Jan-2016    90 
Feb-2016    70 
Mar-2016    109 

ответ

0

Попробуйте с ниже запроса.

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

Вы можете использовать extract(year_month... для получения статистических данных в месяц. Что-то вроде этого:

SELECT 
    extract(year_month FROM date(admission_date)) month, 
    count(*) total_admission 
FROM your_table; 
0

Попробуйте сделать это:

SELECT COUNT(*) AS admission_total 
FROM yourTable 
GROUP BY MONTH(admission_date) 
0

Попробуйте это:

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' 
+0

его получения признаний каждой даты, но я хочу, чтобы каждый месяц –

+0

Колонка «Student.admission_date» недопустим в списке выбора, поскольку он не содержится ни в статистической функции или предложения GROUP BY. –

+0

Да, что я пробовал раньше, но я мог бы получить его как jan-2016 –

Смежные вопросы