从sql表中获取第一行和第二行

时间:2017-07-21 16:36:36

标签: mysql

我有一张桌子

id term_id price
 2       1   100
 4       1   200
 6       1   500
 1       2   100
 3       3   100
 5       3   500
 7       3   700

我只需要两行所有术语ID。

id term_id price
 4       1   200
 6       1   500
 1       2   100
 5       3   500
 7       3   700

2 个答案:

答案 0 :(得分:-1)

三种解决方案

使用TOP

SELECT TOP 2 * FROM table;

使用LIMIT

SELECT * FROM table
LIMIT 2;

使用ROWNUM

SELECT * FROM table
WHERE ROWNUM <= 2;

答案 1 :(得分:-1)

SELECT *
FROM   test s
WHERE 
    (
        SELECT  COUNT(*) 
        FROM    test  f
        WHERE f.term_id = s.term_id and 
        f.price >= s.price
    ) <= 2;

您的示例表示例:http://www.sqlfiddle.com/#!9/79a222/10

在此处找到:In SQL, how to select the top 2 rows for each group