我在MySQL中有一个庞大的数据库,其中一列包含一个序列号(在我的表中,我有大约17,000个序列号),我想选择一个特定的序列号并显示该编号和之前的50个序列号,我该怎么办?
答案 0 :(得分:2)
我想你想要这样吗?
SELECT *
FROM table
WHERE serialnumber<=@yourserialnumberwhichyousearch
ORDER BY serialnumber DESC
LIMIT 51;
答案 1 :(得分:0)
您没有声明序列号是唯一的。如果不是,那么join
是一种方法:
select t.*
from t join
(select t.*
from t
where t.serialnumber < @sn
order by t.serialnumber desc
limit 50
) t50
on t.serialnumber = @sn or t.serialnumber = t50
请注意,如果您的给定号码不在数据中,则会返回50个序列号。