我有这个表,它可以很容易地按 id asc 或 desc 排序,但它总是会给出相同的结果,所以只有通过 asc 或 desc 获得两个结果的可能性这里是 tablea
id linkid
5454 766
5453 766
5452 766
5451 766
5450 766
5449 766
5448 765
5447 765
5446 765
5445 765
select * from tablea where linkid='766' order by id desc limit 1
or
select * from tablea where linkid='766' order by id asc limit 1
当我使用上面的查询时,我只有两个选项可以使用 asc 或 desc,它们只能以两种方式对 linkid 766 进行排序,我将获得 id 5454 或 5449 的输出,但我想使用与 linkid 相对应的任何一个 id。我想要这样的linkid 766的输出。查询应该给出任何一个值,不仅是我通过使用asc或desc获得的第一个或最后一个值,而且我不想使用rand(),因为它非常慢
我可以尝试 rand() 但它会很慢
select * from tablea where linkid='766' order by rand() limit 1
任何想法如何实现。