如果子集不够,可以获得子集表格吗
product Table
---------------------------
Product_ID | Catgory_ID
--------------------------
1 |1
2 |2
3 |1
4 |3
5 |7
6 |8
7 |9
8 |4
9 |2
10 |1
11 |7
12 |1
13 |6
14 |5
15 |4
我总是想要4项结果
现在我想从第1类获得4个产品。
我可以select * from product where Catgory_ID = 1 limit 4
现在我想要Caregory 2的4个产品,但只有2个产品有护理2,所以我想要的是我得到那2个产品(类别ID为2)并获得任意2个随机产品所以总数是4 < / p>
我可以在mysql中单独使用吗
答案 0 :(得分:2)
你可以这样做,尝试这样的事情:
SELECT * FROM product ORDER BY CASE WHEN (Catgory_ID = 2) THEN 0 ELSE 1 END LIMIT 4;
首先,您订购的表格所需的类别位于顶部,然后您选择4。
答案 1 :(得分:0)
随机添加:
SELECT *
FROM product
ORDER BY (Catgory_ID != 2) + RAND()
LIMIT 4;
请注意,布尔表达式的计算结果为0(false)或1(true)。