注文を3つの条件でソートする方法を探しています。問題なく2枚ゲットできます。表の例:
Buyer Qty Item_ID
James 1 12345
Jack 1 34564
John 3 13445
Kevin 1 83243
Bill 2 23434
Jack 3 23423
ここでのコツは、最初に購入者をグループ化し、
次に数量、item_idの順にグループ化することです。
ジャックには、グループ化してまとめて出荷する必要がある 2 つの注文があります。残りの注文は、数量別にグループ化し、item_ID でソートする必要があります。
出力は次のようになります。
Buyer Qty Item_ID
Jack 1 34564
Jack 3 23423
James 1 12345
Kevin 1 83243
Bill 2 23434
Bob 2 23444
John 3 13445
バイヤーは、複数の注文をグループ化して、数量で並べ替えるだけで並べ替える必要はありません。1 日に何百件もの注文があり、同じバイヤーから複数件の注文があります。部屋の端から端まで簡単に在庫を移動できるように、アイテム数が同じ注文は item_id で並べ替える必要があります。バイヤーのグループ化は機能するようですが、まだ解決していません。
これまでで最も合理的なクエリ:
select * FROM orders
WHERE printed = 0
AND status = 'completed'
AND address_name <> ''
group by buyer
ORDER BY qty, id;
このクエリは、同じ購入者からの複数の注文をスキップし、残りを適切に並べ替えます。
回答 1 を正常に実装しました。ありがとうございます。