2009-11-20 4 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

+0

не упорядочивается ни одним из полей, просто задавая произвольный порядок – user166891

+0

Не могли бы вы предоставить некоторые данные образца? – David

ответ

1

Try:

SELECT (player. k - player. d), player. cid, player. k, player. d, gg. gg_id, gg. name, gg. img, cc. cid, cc. name, cc. class, cc. gg_id ОТ player ВЛЕВО РАБОТЫ cc ON cc. cid = player. cid LEFT JOIN gg ON gg. gg_id = cc. gg_id ORDER BY (playerk -.. playerd) DESC

Я сделал быстрый запрос из моих собственных, и результаты, как представляется, неупорядоченные (несмотря на тот факт, были), пока я не добавил SELECT (player. k - player. d). MySQL также жаловался на отказ от имени таблицы в предложении ORDER BY.

+0

Я получаю # 1241 - Операнд должен содержать 1 столбец ... если я ставлю таблицу (player.k-player.d), player (kd) или базу данных (игрок k - игрок d), я получаю несохраненные ошибки colums – user166891

+0

Я просто попробовал ваш простой «выбрать игрока k-плеер d из xxx», и я заметил, что некоторые из колов подают мне: 18446744073709551614 ... они оба являются INT и имеют законные значения – user166891

+0

да, это определенно что-то о негативном значения ... упорядочены по k + d, и это сработало. Знаете что? – user166891

Смежные вопросы