2016-09-15 5 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) 
; 

あなたが手続きの本体でこれを投げると、あなたは、あなたのアプリが季節を定義する方法に基づいて探しているシーズンの始まりと終わりを渡すことができます。 idフィールドに数えたいと思ったのは、nullでないと仮定できる唯一のものだからです。

+0

これはtrueではありません.i結果を1つのクエリで取得します。 – 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 

そして、ちょうど始まりを使用して、あなたが興味を持っているものは何でもシーズンの日付を終了そのパターンを以下に保つ。

関連する問題