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差し上げます
よろしくお願いします

回答の条件
  • 1人2回まで
  • 登録:2007/06/12 16:04:15
  • 終了:2007/06/13 14:10:39

回答(3件)

id:Sampo No.1

Sampo回答回数556ベストアンサー獲得回数1042007/06/12 16:16:06

ポイント150pt

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

です。

id:jayz

ありがとうございます

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

2007/06/12 16:35:35
id:Sampo No.2

Sampo回答回数556ベストアンサー獲得回数1042007/06/12 17:41:14

ポイント27pt

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

select

max(order_date), *

from

sales left join goods

on

sales.goods_id=goods.id

group by

goods_id

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

id:jayz

勘違いでした

2007/06/12 18:17:33
id:chuken_kenkou No.3

chuken_kenkou回答回数722ベストアンサー獲得回数542007/06/12 16:21:29

ポイント26pt

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

select goods_id,max(order_date) as order_date
 from t1
 group by goods_id
  • id:b-wind
    >goodsテーブルとgood_idをキーにLEFT JOINするときはどうしたらよいでしょうか
    JOIN するテーブル構成が分からないと答えにくいですね。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません