1
A
回答
3
這是做到這一點的常用方法:
SELECT * FROM my_table
ORDER BY product_name LIKE '%accessory%', product_name
或
SELECT * FROM my_table
ORDER BY LOCATE('accessory', product_name), product_name
該條款product_name LIKE '%accessory%'
是一個布爾表達式,它返回0
或1
,使所有不排比賽將返回0
,並且將按排序順序提前顯示。
LOCATE('accessory', product_name)
的工作原理相似,但會返回0
表示不匹配或第一個匹配的整數位置。在這種情況下,兩者之間幾乎沒有什麼區別。
+0
您不應該先用'LOCATE('accessory',name)'命令嗎? –
+0
@RocketHazmat,是的!謝謝。 –
1
SELECT *,
(CASE WHEN `productname` LIKE '%accessory%' THEN 1 ELSE 0 END) AS `relevance`
FROM `tablename` ORDER BY `relevance`, `productname` ASC
你可以給基於MySQL的條件下使用case.
很明顯,你可以只在ORDER BY語句之前在那裏添加您的WHERE子句中的相關性,但在這個例子中我只選擇一切
相關問題
- 1. MYSQL高級排序
- 2. 在PHP中對多維數組進行高級排序
- 3. 在高級數據網格中對列進行排序
- 4. 高級MySQL按字母排序前綴?
- 5. 高級排序在Excel
- 6. 高級PHP排序
- 7. Yii2高級排序
- 8. 高級排序CakePHP
- 9. 高級Datagrid排序
- 10. 高級排序MySQL的,排序上的動作ID
- 11. MySql:高級排序第一行到最高然後從最低到最高?
- 12. 高級數組在Ruby中排序
- 13. 在Sitecore中的高級系統報告器中對結果進行排序
- 14. 基於另一個陣列的規則進行高級排序
- 15. 使用JTable rowFilter進行高行排序
- 16. 通過字母,數字和字符在ASP.NET中進行高級排序實現
- 17. 在Matlab中進行排序與排序
- 18. PHP:高級排序依據
- 19. 高級數組排序PHP
- 20. Sharepoint 2010高級排序
- 21. Rails的高級排序
- 22. 高級數組排序
- 23. Excel - 高級排序功能
- 24. 使用php和mysql高級排序和搜索mysql數據庫
- 25. mySQL對下一個更高的數字進行排序
- 26. MYSQL對組中的項目進行排序然後對它們進行排序
- 27. 項目進行排序,價格等級
- 28. 如何進行分級XSL排序?
- 29. 在MySQL中按2列進行排序並設置重要性級別
- 30. MySQL的行進行排序性能
' ORDER BY'接受逗號分隔的表達式列表。 –