Translate

2016年1月9日土曜日

【mysql】最新状況を検索したい

例えばある製品の製造工程をログにとっているとして、
テーブルは
id product status date
という項目、
開梱→組み立て→塗装→梱包→発送
というフローだとする。
このうち、組み立てから梱包までの作業上にある製品の、最新ステータスを検索したいとき

select * from ( select * from log where status = "組み立て" OR status = "塗装" OR status = "梱包" order by date desc) as t group by product order by date desc

group by で値を拾うときはテーブルの一番上の行を採用するらしいので、
ソートをかけて拾いたい最新のデータを、()内で一番上にもってきている。

0 件のコメント:

コメントを投稿