Запросить любое поле с наибольшим номером - PullRequest
0 голосов
/ 03 декабря 2010

У меня есть 2 поля в таблице базы данных: «вверх» и «вниз», и оба имеют целочисленные значения.

up = 8
down = 4

Чтобы вытянуть строки, где вверх больше, чем вниз, я использую

$query = "SELECT * FROM table WHERE up > down";

Предположим, я хочу получить значение любого поля с наибольшим номером. Как бы я сделал это в запросе?

Ответы [ 2 ]

2 голосов
/ 03 декабря 2010
SELECT IF(a > b, a, b) AS max_value
  FROM (SELECT MAX(up) AS a,
               MAX(down) AS b
          FROM table) x
1 голос
/ 03 декабря 2010

Я обнаружил, что функция greatest() идеально подходит для моего случая http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_greatest

SELECT GREATEST( up, down ) FROM table
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...