在mysql中我如何只搜索前10条记录

时间:2017-07-03 10:14:35

标签: mysql database

我正在编写查询,但我只想搜索表中的前10条记录。我知道在选择限制中通常会限制记录,但它不适用于此实例。 例如

SELECT * FROM `logon` WHERE `username`='superman' ORDER BY `user_id` LIMIT 10

以上行永远不会有效,因为查询只返回一行。

我只想搜索前10个记录,并且限制在这种情况下不起作用。

那么如何将搜索限制在前10条记录中呢?

5 个答案:

答案 0 :(得分:3)

SELECT * FROM
(SELECT * FROM `logon` ORDER BY `user_id` LIMIT 10) as temp
WHERE temp.`username`='superman';

答案 1 :(得分:0)

按顺序使用

SELECT * FROM `logon` WHERE `username` = 'superman' ORDER BY user_id LIMIT 10 

答案 2 :(得分:0)

您只需编写一个子查询,该子查询返回“第一个”10条记录,并在结果集上放置一个where子句。

答案 3 :(得分:0)

SELECT * 
FROM `logon` 
WHERE `username`='superman' 
and user_id in (select user_id from logon order by user_id limit 10)

(我还没试过这个,但我认为这是最快的方法)

答案 4 :(得分:0)

不是正确的方法......但可以做到......

SELECT * 来自logon WHERE username ='超人'和srno BETWEEN 1和10;