2014-10-09 50 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 ...'是你在找什么? – 2014-10-09 07:29:01

+0

谢谢我寻找最大(Z)在哪里实际上 – 2014-10-09 08:02:58

回答

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

非常感谢你的描述。 – 2014-10-09 18:22:50

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

感谢您的帮助。 – 2014-10-09 18:23:30