人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MySQL4.1において下記のようなテーブルがあります

goods_id | order_date
-------------------------------
1 | 2006-05-05 00:00:00
4 | 2007-06-12 15:26:01
7 | 2007-06-12 15:26:01
3 | 2007-06-12 15:26:01
6 | 2007-06-12 15:26:01
2 | 2007-06-12 15:26:01
5 | 2007-06-12 15:26:01
1 | 2007-06-12 15:26:01

上記テーブルよりgoods_idとorder_dateの一覧を取り出したいのですが
goods_idが重複している行については日付が一番新しいものを取り出したいのですが
どのようにしたらよいでしょうか

一番参考になる回答をいただけた方に150P差し上げます
よろしくお願いします

●質問者: jayz
●カテゴリ:ウェブ制作
✍キーワード:00 2006-05-05 差し
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● Sampo
●150ポイント

select goods_id, max(order_date) from table group by goods_id

です。

◎質問者からの返答

ありがとうございます

少し飛躍しますがここで上記SQLで得た結果と別のテーブル、goodsテーブルとgood_idをキーにLEFT JOINするときはどうしたらよいでしょうか


2 ● Sampo
●27ポイント

>> goodsテーブルとgood_idをキーにLEFT JOINするときはどうしたらよいでしょうか

select

max(order_date), *

from

sales left join goods

on

sales.goods_id=goods.id

group by

goods_id

となります。売り上げテーブルが「左」だと解釈していいんですよね?

◎質問者からの返答

勘違いでした


3 ● chuken_kenkou
●26ポイント

group byとmax関数で得られます。

select goods_id,max(order_date) as order_date
 from t1
 group by goods_id
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ