2016-09-09 1 views
0

特定の日付の後の年を選択するSQLクエリを作成します。1つのmysqlテーブルから特異日を選択する範囲を指定します

基本的に私は人が登録した日付のテーブルを持っています。私は、登録日から今日までのすべての日付(年)を欲しがっています。

例:3月31日に登録 人、2013

今日の日付が2016年9月9日

あるのでSQLクエリは 2013、2014、2015年と2016年を返します

どのようにすることができます私はこれを達成する?

+0

このデータが実際にテーブルに存在しない場合は、カレンダーテーブルを使用する必要があります。 –

答えて

0

数値を含む派生テーブルを簡単に作成できます。

select year(t.date) + n.n 
from (select 0 as n union all select 1 union all select 2 union all 
     select 3 union all select 4 union all select 5 
    ) n join 
    t 
    on t.date >= date_sub(curdate(), interval n.n year); 

もちろん、データがさらに遠くに戻る場合は、派生テーブルを拡張する必要があります。

関連する問題