2014-10-09 2 views
0

У меня есть таблица MySQL, как показано ниже.Выбор данных, где максимальный столбец

ID  X  Y Z 
    1  1  1 1 
    2  7  4 2 
    2  9  4 3 
    3  2  3 1 
    4  2  2 1 
    4  2  2 2 
    5  3  3 1 

Я хочу выбрать X где (ID = 2 и Y = 4 и Z максимум). У меня есть этот код, но не могу понять, где добавить функцию MAX.

$check_x=mysql_query("SELECT X from Hamdun_Soft where ID='2' AND Y='4'"); 

Помогите мне с MySQL.

+2

'SELECT MAX (X) X FROM ...' это то, что вы ищете? –

+0

Спасибо, я ищу max (Z), где положить на самом деле –

ответ

2

Там уже был правильный вариант, если вам нужно только один X с максимальным Z

SELECT 
    X 
FROM 
    Hamdun_Soft 
WHERE ID = '2' 
    AND Y= '4' 
ORDER BY Z DESC 
LIMIT 1 

И вариант с подзапроса, если может быть не только один X с максимальным Z.

SELECT 
    X 
FROM 
    Hamdun_Soft 
WHERE ID = '2' 
    AND Y = '4' 
    AND Z = (SELECT MAX(Z) FROM Hamdun_Soft WHERE ID = '2' AND Y = '4') 

PS

И не забывайте, что теперь mysql_* семейство функций устарело. Вы можете использовать mysqli_* или PDO.

+0

Большое спасибо за описание в обоих направлениях. –

2
SELECT 
    X 
FROM 
    Hamdun_Soft 
WHERE ID = '2' 
    AND Y= '4' 
ORDER BY Z DESC 
LIMIT 1 
+0

Спасибо, что помогли мне. –

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