2011-09-28 65 views
0

有沒有更好的辦法MySQL的雙階

SELECT users.id FROM `users`,`profiles` WHERE users.id = profiles.id && 
profiles.zipcode = '$zipcode' && users.id != '1' && users.id != '2' 
&& profiles.picture != '' ORDER BY users.last_activity DESC LIMIT 0,11 

(上面的代碼想找到所有用戶具有一定的郵編,並責令其由last_activity時間戳)寫

而且,無論如何按last_activity和性別來排序嗎?

回答

2
SELECT users.id 
FROM `users` 
JOIN `profiles` ON users.id = profiles.id 
WHERE profiles.zipcode = '$zipcode' 
    AND users.id NOT IN (1,2) 
    AND profiles.picture != '' 
ORDER BY users.last_activity DESC, users.gender 
LIMIT 0,11 
+0

這沒有奏效:/ –

+0

沒有工作怎麼樣?錯誤?錯誤的結果?訂購不正確? – mluebke

+0

#1064 - 您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在'JOIN'profiles'附近使用正確的語法ON users.id = profiles.id WHERE profiles.zipcode ='53511'A'在第3行 –

0

只需添加性別:如果兩個用戶具有相同的last_activity

ORDER BY users.last_activity DESC, users.gender 

注意,排序由第二個(在這種情況下gender)纔會發生。考慮它是一個「決勝盤」的順序。

+0

@ShaneLarson你也可以選擇爲每個即users.last_activity DESC搜索順序,users.gender ASC – csjohn

+0

這不起作用:/ –

+0

@ShaneLarson:怎麼會這樣? – CanSpice