2016-09-15 2 views
-6

테이블의 필드는 id, name, date_confirm(yyyy-mm-dd h:i:s)입니다. 여름 또는 겨울에 확인 된 기록 수를 얻고 싶거나 .... 예 결과 :계절의 레코드 수를 얻는 방법

18|summer 2015

17|Autumn 2015

0|winter 2015

1|spring 2016

방법 이것에 의해 열 그룹?

+0

이 MySQL의 또는 SQL 서버입니까? –

+0

이것은 mysql입니다. – MJH

+0

샘플 데이터를 제공하고 각 시즌의 시작과 끝 날짜는 무엇입니까? – kbball

답변

0
select count(id) 
from yourTable 
where 
    date(date_confirm) between date(seasonBegin) and date(seasonEnd) 
; 

프로 시저 본문에이 내용을 넣은 다음 앱이 계절을 정의하는 방법에 따라 찾고있는 계절의 시작과 끝을 전달할 수 있습니다. 나는 그것이 null이 아닌 것으로 가정 할 수있는 유일한 ID 필드로서 셀 수를 선택했습니다.

+0

이것은 하나의 쿼리에서 결과를 얻고 싶습니다. – MJH

+0

어쩌면 단어를 사용하고 대신 또는를 사용하여 질문을 편집해야합니다. – justindevs

0
select count(1) ,name 
from yourtable 
group by name 
0
SELECT 
SUM(CASE WHEN date_confirm BETWEEN(begindate, enddate)THEN 1 ELSE 0 END) AS Confirmed_Summer2015 
,SUM(CASE WHEN date_confirm BETWEEN(begindate, enddate)THEN 1 ELSE 0 END) AS Confirmed_Autumn2015 
--Keep adding more seasons if needed 
FROM TableName 

그리고 시작에 불과을 사용하여 관심있는 어떤 절기의 날짜를 종료하는 패턴을 다음과 유지.

관련 문제