如何在查询中获得第二个更高的数字

时间:2018-12-28 17:00:36

标签: mysql

示例,假设我有一张下一张表:

id | start | userId
1      3       1
2      2       2
3      5       1

现在,我想获取与start相关的列userId的第二高值的所有行信息。因此,如果userId等于1,我期望得到下一个结果:

(id, start, userId) = (1,3,1)

我已经尝试过以下查询:

SELECT id, max(start) FROM table_user WHERE userId = 1;

但这给了我更高的电话号码。

1 个答案:

答案 0 :(得分:2)

您可以通过按列startLIMIT的功能进行排序,例如:

SELECT
    *
FROM
    table_user
WHERE
    userId = 1
ORDER BY
    `start` DESC LIMIT 1, 1

您也可以在线查看此内容:DB-Fiddle