2

order_status_data2 テーブル

上記のテーブル (order_status_data2) から一意の値を取得しようとしています。次のフィールドで最新の注文を取得したいと思います: id,order_id および status_id。高い ID フィールド値は、最新のアイテム、つまり
4 - 56 - 4
8 - 52 - 6
7 - 6 - 2
9 - 8 - 2
など
を示します。次のクエリを試しましたが、必要な結果が得られませんでした。特に status_id フィールド:

 select max(id) as id, order_id, status_id from order_status_data2 group by order_id

これは得ている結果です:
クエリ結果


目的の結果を得るには、クエリをどのように作成すればよいですか?

4

3 に答える 3

2

このクエリを試してください。これが役に立ちます

SELECT id ,orderid,statusid 
FROM table_name 
WHERE id IN
(
  SELECT max(id) FROM table_name GROUP BY orderid 
)
ORDER BY statusid 

あなたの例を使用するこのSql_Fiddle_linkを参照できます。

于 2013-07-02T10:01:36.140 に答える