2009-11-20 27 views
2
SELECT `player`.`cid`, `player`.`k`, `player`.`d`, `gg`.`gg_id`, `gg`.`name`, `gg`.`img`, `cc`.`cid`, `cc`.`name`, `cc`.`class`, `cc`.`gg_id` 
FROM `player` 
LEFT JOIN `cc` ON `cc`.`cid` = `player`.`cid` 
LEFT JOIN `gg` ON `gg`.`gg_id` = `cc`.`gg_id` 
ORDER BY (`k`-`d`) DESC 

我想訂購由K減去D值,但我沒有得到它正確 什麼我做錯了什麼?有或沒有DESC/ASC,其錯誤MySQL錯誤ORDER BY

+0

你在看什麼? – John 2009-11-20 18:53:42

+0

它沒有按任何字段排序,只是給出了一個隨機順序 – user166891 2009-11-20 18:56:54

+0

你能否提供一些樣本數據? – David 2009-11-20 19:00:14

回答

1

嘗試:

SELECT (playerk - playerd),playercidplayerkplayerdgggg_idggnameggimgcccidccnameccclassccgg_id FROM player LEFT JOIN cc ON cccid = playercid LEFT JOIN gg ON gggg_id = ccgg_id ORDER BY(playerk - 。playerd)DESC

我做了我自己的快速查詢和結果似乎是無序的(儘管事實上該人),直到我增加了SELECT (playerk - playerd。 MySQL也抱怨在ORDER BY子句中忽略表名。

+0

我得到#1241 - 操作數應該包含1列(s)...如果我把表(player.k-player.d),播放器(kd)或數據庫(播放器k - 播放器d)我得到未知colums錯誤 – user166891 2009-11-20 19:18:54

+0

我只是想嘗試一下你的簡單的「從xxx選擇球員k - 球員d」,我注意到一些colums給我:18446744073709551614 ...他們都是INT並且具有合法價值 – user166891 2009-11-20 19:23:25

+0

是的,它絕對是一些關於負面價值觀..我按k + d排序,它工作..所以知道什麼? – user166891 2009-11-20 19:29:09