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