嗨,这只是一个简单的问题 我知道如何从表格中获得最经常出现的字段
SELECT MAX(field) FROM table
但是如何从表中获得第二个最常见的字段?
谢谢。
答案 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