talb1 tabl2
[id - col1] [tid - col1]
[1 - aa1] [1 - c]
[2 - ba2] [1 - b]
[3 - ca3] [1 - a]
[4 - da4] [1 - d]
[2 - c]
[2 - a]
[2 - b]
[3 - b]
[3 - a]
[4 - a]
最高匹配訂單價值在IN子句
$query = "
SELECT a.id
FROM a.tabl1
LEFT JOIN tabl2 b ON a.id = b.tid
WHERE b.col1 IN ('a', 'b', 'c', 'd')
GROUP BY a.id
";
我試圖獲得最高ID
S中IN Clause
內匹配,我得到的值,但他們從未下令,
我想最高的ID例如具有
01的最高匹配對它們進行排序
ID[4] = match['a', 'b', 'c', 'd'];
ID[2] = match['a', 'b', 'c'];
ID[3] = match['a', 'b'];
ID[1] = match['a'];
所以我嘗試
ORDER BY COUNT(b.col1) DESC
但它顯然不會做任何事情,因爲我希望它發生,究竟如何訂購這樣的查詢?
注意:如果我選擇a, b, c
只有內部IN Clause
我得到有序值,但如果選擇a, b, c, d
(所有字母)我得到的隨機值。
這'ORDER BY COUNT(b.col1)DESC'應該做類似的標準,我不知道如果你可以包含一些樣本數據,它會更好 –
@MKhalidJunaid添加了一個樣本表 – AXAI