- ベストアンサー
日付が重複したものは一つしか表示しないquery
int型のidが入ったカラムAとdatetime型の日付が入ったカラムBを持ったテーブルから同じ日のidの重複をなくしたBで新しい順位ソートされたものをSELECTするクエリが分かりません。 A|B 1|2010-12-11 10:00:00 2|2010-12-05 10:00:00 1|2010-12-05 10:00:00 ⇒日付が重複しないので表示する 2|2010-12-05 10:00:00 ⇒二番目の項目と重複するので表示しない 4|2010-12-03 10:00:00 宜しくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
group by 句を使えばよいのでは? SELECT A,B FROM hoge GROUP BY A,B では駄目ですか?
その他の回答 (3)
- m-take0220
- ベストアンサー率60% (477/782)
ということは、あなたが提示している条件と、実際の条件が違うということです。 私のところでは、提示されたデータのテーブルを作成してテストしても、4行のデータが返ってきます。
- m-take0220
- ベストアンサー率60% (477/782)
やってみました? distinctは、列ごとではなく、すべての列が同じデータを排除するはずですが。 以下のURLの開設を参照してみてください。 SQL入門その10 - SELECT DISTINCT文による重複データを取除く http://www.syboos.jp/database/doc/20080216155839652.html
補足
こちら補足ですが、auto_incrementなどのカラムもあります。 なので列だけで見ると全てユニークになっています。 結果、やはりダメでした。
- m-take0220
- ベストアンサー率60% (477/782)
A,Bが全く同じものを排除するのであれば、 select distinct A,B のようにすればいいんじゃないでしょうか。
お礼
回答ありがとうございます。 それもやはり 1|2010-12-05 10:00:00 ⇒日付が重複しないので表示する が表示されないのではないでしょうか?
お礼
回答ありがとうございます。 それだと、 1|2010-12-05 10:00:00 ⇒日付が重複しないので表示する が表示されないのではないでしょうか?