我正在编写查询,但我只想搜索表中的前10条记录。我知道在选择限制中通常会限制记录,但它不适用于此实例。 例如
SELECT * FROM `logon` WHERE `username`='superman' ORDER BY `user_id` LIMIT 10
以上行永远不会有效,因为查询只返回一行。
我只想搜索前10个记录,并且限制在这种情况下不起作用。
那么如何将搜索限制在前10条记录中呢?
答案 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;