プロが教えるわが家の防犯対策術!

質問タイトルの通りなのですが、
"yyyy-mm-dd"のdate項目の年部分だけ重複なしに
リストアップしたいのですがどのようにすればよいでしょうか。

というのも
HTMLのSELECTフォームで“年”を選択してsubmitすることで
該当する年のデータを表示させようと思っているのですが
そのSELECTのOPTION部分に使いたいと思っています。

今はdateを全て取ってきて、
dateの頭4桁がブレイクしたら<OPTION>出力としているのですが、
もっとスマートな方法があれば知っておきたいと思い。

ご存知の方いらっしゃいましたらご教示願います。

A 回答 (2件)

この場合はGROUP BYでなくてもいい気がします。


date型のフィールドならYEAR()で抜き出すのが妥当でしょう。
重複なくということなのでDISTINCTを使います。

SELECT DISTINCT YEAR(`date`) FROM `TABLE_NAME`

この回答への補足

ありがとうございます!

補足日時:2007/03/13 11:55
    • good
    • 0

select SUBSTRING(date,1,4) as y from TABLE_NAME group by y;



参考URL:http://dev.mysql.com/doc/refman/4.1/ja/string-fu …

この回答への補足

substringが使えるんですね、年月日に限らずいろいろ使えそうです
ありがとうございます。

補足日時:2007/03/13 11:55
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す