[英]How to show records in php from database in specific order
我在php中創建一個程序,通過在我的查詢字符串中添加“order by'column name'”按字母順序從數據庫中選擇記錄
例如,我們有條目
ABMLHVVF現在按字母順序顯示記錄后,將按以下順序獲取記錄
ABFHLMVV
現在,如果我的用戶想要查看m的記錄,那么他應該按照以下方式獲取記錄
MABFHLVV
表示在頂部搜索記錄,然后按字母順序。
那么如何通過一個查詢以這種方式獲取記錄
$result=mysqli_query($con,"SELECT * from orders order by 'name'");
order by name='M' desc
使用order by name='M' desc
SELECT * from orders order by name='M' desc,name ASC
你可以試試這個
select *
from orders
order by name = 'M' desc, name asc
要么
select *
from orders
order by case when name = 'M' then -1 else name end
使用兩個查詢,第一個獲取所需字母的所有記錄,使用問題中的查詢作為起點(假設所需字母為M):
SELECT * FROM orders WHERE name LIKE '%m' ORDER BY 'name'
然后是第二個查詢:
SELECT * FROM orders WHERE name NOT LIKE '%m' ORDER BY 'name'
然后讓PHP將第二個查詢的結果集附加到第一個查詢的結果集中。 ORDER BY子句中使用的字段需要在兩個查詢中匹配。 如果你想在一個查詢中按順序排序這兩個部分,我認為不可能這樣做
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.