簡體   English   中英

Mysql PHP 查詢。 您如何將數據庫中的兩個不同列“排序”在一起?

[英]Mysql PHP query. How do you “order by” two different columns in the database together?

我的數據庫中有 2 列。 一個名為“name01”,另一個名為“name02”。 該數據庫在我的應用程序上顯示朋友。 當我在應用程序上將 go 加入我的朋友列表時,我希望我的所有朋友按姓名按升序顯示。 問題是用戶名可能在“name01”或“name02”中,具體取決於誰先發送了好友請求。 您如何同時“訂購”name01 和 name02? 我試過用逗號(ORDER BY name01, name02)來做,但它先訂購一個,然后再訂購另一個,所以名稱並不都是按字母順序排列的。

 $sql = mysql_query("SELECT * FROM friends WHERE id01 = '$id' AND status01 = '1' OR id02 = '$id' AND status02 = '1' **ORDER BY name01, name02** Limit 500");

以上將 name01 與 name02 分開訂購。

使用GREATEST() function 然后訂購:

SELECT friends.*, GREATEST(IFNULL(name01, 0), IFNULL(name02, 0)) as greatest_name 
FROM friends 
WHERE id01 = '$id' AND status01 = '1' OR id02 = '$id' AND status02 = '1'
ORDER BY greatest_name Limit 500

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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