简单的MySQL问题 - MAX(字段)?

时间:2010-06-25 07:59:49

标签: sql mysql max

嗨,这只是一个简单的问题 我知道如何从表格中获得最经常出现的字段

SELECT MAX(field) FROM table

但是如何从表中获得第二个最常见的字段?

谢谢。

4 个答案:

答案 0 :(得分:5)

您可以使用LIMIT设置偏移量。

 SELECT field FROM table ORDER BY field DESC LIMIT 1,1;

答案 1 :(得分:2)

如果性能对您至关重要,这有助于避免排序:

SET @a := (SELECT MAX(field) FROM table);
SELECT MAX(field) FROM table WHERE field != @a;

作为替代方案,您可以在代码中存储@a值。

答案 2 :(得分:1)

定义(from about.com):限制用于将MySQL查询结果限制在指定范围内。您可以使用它来显示前X个结果数,或显示X - Y结果的范围。它被表述为限制X,Y并包含在查询的末尾。 X是起点(记住第一个记录是0),Y是持续时间(要显示的记录数)。 也称为:范围结果 例子:

 SELECT * FROM `your_table` LIMIT 0, 10 

将显示数据库中的前10个结果。

 SELECT * FROM `your_table` LIMIT 5, 5 

将显示记录6,7,8,9和10

 SELECT * FROM `your_table` ORDER BY 'FIELD' DESC LIMIT 1, 1 

将显示第二个最常见的记录

答案 3 :(得分:0)

SELECT
    field,
    COUNT(*) as cnt
FROM table
GROUP BY field
ORDER BY cnt DESC
LIMIT 1, 1