0
我想基於OfferType
Sequence
和OutofStock
PHP MySQL的,排序3山坳的
產品排序結果表看起來像
id name offertype sequence outofstock
1 Alpha 1 3 0
2 Beta 2 1 0
3 Charlie 3 2 0
4 Delta 4 4 0
5 Random-1 0 5 0
6 Random-2 0 6 0
7 Random-3 0 7 0
8 Random-4 0 8 0
9 Random-5 0 9 0
10 Random-6 0 10 1
的目標是
- 所有具有
offertype
(Alpha,Bravo,Charlie,Delta)的產品進入頂部並根據sequence
(Beta,Charlie,Alpha,Delta) - 然後下一個顯示所有隨機產品,但每次刷新頁面,這些隨機產品洗牌
- ,如果產品是
outofstock
必須留在底部,最後產品。
注:如果有offertype
所有產品洗牌太當頁面刷新sequence
山坳可以去除,但他們必須留在隨機產品的頂部。
我試過的是ORDER BY rand()
,ORDER BY FIND_IN_SET()
和PHP函數array_rand()
但是不能按期望的順序排序產品。
的第一項建議,即使工作,如果'sequence'從'ORDER BY'刪除,'offertype'留在上面,這兩種產品與'offertype'和隨機產品在頁面刷新(這正是目標)洗牌和outofstock留在底部, – Shehary
非常感謝您的幫助。 – Shehary