簡體   English   中英

如何以特定的順序從數據庫中顯示php中的記錄

[英]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

來源: mysql SQL:首先是特定項目,然后對其余項目進行排序

使用兩個查詢,第一個獲取所需字母的所有記錄,使用問題中的查詢作為起點(假設所需字母為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM