SQL语句,总是列出一种排序的3个条目

时间:2011-03-14 20:01:33

标签: php mysql

我有另一个问题

我可以在一个例子中向您展示:

我有一个名为“myTable”的表,有7个条目

myTable | id | user_id |
           1      1 
           2      1
           3      1
           4      1 
           5      2
           6      2 
           7      2  
           8      2  
           9      2  
           10     2  

现在我想列出任何user_id的3个条目,但我无法找到自己的方法。

请帮忙!

-------编辑

我的结果必须如下:

id=1 | user_id=1
id=2 | user_id=1
id=3 | user_id=1
id=5 | user_id=2
id=6 | user_id=2
id=7 | user_id=2

4 个答案:

答案 0 :(得分:1)

SELECT *
FROM table
ORDER BY ...
LIMIT 3

LIMIT子句有两个参数:要返回的行数,如果要显示除前X行以外的其他内容,则返回一个偏移量。 MySQL文档中的详细信息here

答案 1 :(得分:1)

select * from table as t1
where (select count(*) from table as t2
       where t1.user_id = t2.user_id and t2.id < t1.id) <3

答案 2 :(得分:0)

如果您只想要3行,则可以使用limit

select * from myTable limit 3;

答案 3 :(得分:0)