我在MySQL中有一个巨大的数据库,其中一列包含一个序列号(在我的表中,我有大约17,000个序列号),我想选择一个特定的序列号,并显示该序列号及其之前的50个序列号中的所有列,我该怎么做呢?
发布于 2019-07-27 05:42:56
我想你想要这样吧?
SELECT *
FROM table
WHERE serialnumber<=@yourserialnumberwhichyousearch
ORDER BY serialnumber DESC
LIMIT 51;发布于 2019-07-27 20:04:47
您没有声明序列号是唯一的。如果不是,则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个序列号。
https://stackoverflow.com/questions/57227254
复制相似问题