このような並べ替えを実現する方法
商品リストでは、新しく追加された商品が棚にあり、在庫がある商品がデフォルトで先頭に表示され、棚から出て在庫が少ない、または在庫が 0 の商品は最後に表示されます。
goods_id は自動でインクリメントされます。大きなものは最近追加されたものです。在庫フィールド: is_on_sale 1 は在庫あり 0 は在庫なし 在庫数量: 商品番号
SQL の書き方
------解決策------ -- ------------
ORDER BY `is_on_sale` DESC、`goods_id` DESC、`goods_number` DESC
------解決策---------
is_on_sale の説明、商品番号の説明、商品 ID の説明で注文
order by は複数回使用可能、優先順位は順番に並べられており、
is_on_sale が一番上、売架が一番下にあります
goods_number ソート結果では上、在庫が最も多いもの 先頭に
goods_idが前回の結果にあり、同じ条件の新規のものが一番上にあります
------解決策------------------
g.is_on_sale desc は、棚上の商品が前に配置されることを意味します
在庫が 0 の棚上の商品も、棚外商品の前に表示されます
これを望まない場合そのためには、判定条件を追加する必要があります
g.is_on_sale と g.goods_number>0 desc
など
コードを書く前に SQL マネージャーでさまざまな状況をテストする必要があります