选择column_a上最大的2行,其中column_b = 1

时间:2014-10-13 17:55:42

标签: mysql max

如何获得a列中2个最大数字的完整行 列b = 1?

试过这个,(它返回语法错误):

SELECT *, GREATEST ( ID为) -(or column_a) - FROM table WHERE column_b = '1' LIMIT 2;

感谢。

3 个答案:

答案 0 :(得分:5)

一种选择是添加ORDER BY子句,例如

SELECT t.*
  FROM table t
 WHERE t.column_b = '1'
 ORDER BY t.column_a DESC
LIMIT 2

这将为您提供两行,其中column_a的值最大("最大")。

(这个问题在column_a"上询问" 2个最大数字,但是OP查询没有对column_a的任何引用。)

答案 1 :(得分:2)

如果您可以使用LIMIT(就像您正在做的那样),那就非常简单,只需让MySQL完成工作:

SELECT
*

FROM
table

WHERE
column_b = '1'

ORDER BY
id DESC

LIMIT 2

答案 2 :(得分:0)

SELECT MAX(id) as maxID, column_a, column_b, column_c 
FROM table 
WHERE column_c = '1';