私のテーブルのフィールドはid
,name
,date_confirm(yyyy-mm-dd h:i:s)
です。 私は夏や冬に確認されたレコードの数を取得したい。例えば 結果:どのようにシーズンのレコード数を取得する方法
18|summer 2015
17|Autumn 2015
0|winter 2015
1|spring 2016
このため、列でグループへ?
私のテーブルのフィールドはid
,name
,date_confirm(yyyy-mm-dd h:i:s)
です。 私は夏や冬に確認されたレコードの数を取得したい。例えば 結果:どのようにシーズンのレコード数を取得する方法
18|summer 2015
17|Autumn 2015
0|winter 2015
1|spring 2016
このため、列でグループへ?
select count(id)
from yourTable
where
date(date_confirm) between date(seasonBegin) and date(seasonEnd)
;
あなたが手続きの本体でこれを投げると、あなたは、あなたのアプリが季節を定義する方法に基づいて探しているシーズンの始まりと終わりを渡すことができます。 idフィールドに数えたいと思ったのは、nullでないと仮定できる唯一のものだからです。
これはtrueではありません.i結果を1つのクエリで取得します。 – MJH
あなたの質問を編集して – justindevs
select count(1) ,name
from yourtable
group by name
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
そして、ちょうど始まりを使用して、あなたが興味を持っているものは何でもシーズンの日付を終了そのパターンを以下に保つ。
は、このMySQLやSQLサーバのですか? –
これはmysql .. – MJH
サンプルデータを提供し、各季節の開始日と終了日を指定します。 – kbball