1

我有一个 SQL 查询,它给了我以下结果:

UserID | Msg

1      | Hello 
1      | What's up? 
3      | Blabla..

有没有类似高级限制的东西?

如果只是 LIMIT 这个结果说 LIMIT 0,2 我只会从用户 1 那里得到消息,但我想从结果中的前两个用户那里得到消息(虽然不知道他们的 id 是什么!)

任何帮助都非常感谢!

4

2 回答 2

2

没有高级LIMIT可用。对于您的情况,您可以使用以下内容:

SELECT * FROM `table_name` 
WHERE UserID IN (
    SELECT DISTINCT UserID FROM `table_name` ORDER BY UserID ASC LIMIT 2
)
于 2013-08-26T17:42:20.667 回答
1

这将返回您要求的内容:

SELECT t.* 
FROM (SELECT DISTINCT UserID FROM t LIMIT 2) AS u 
INNER JOIN t USING (UserID);
于 2013-08-26T17:42:29.620 回答