我的mysql有一个包含3个参数(名称、视图、id )的表。我需要按视图排序。我会得到这样的东西。
查询:
select
from table
order by views结果:
id | name | views
------------------------
7 | xxxx | 9000
2 | yyyy | 8000
1 | aaaa | 7000
4 | bbbb | 6000
8 | dddd | 5000
6 | cccc | 4000
5 | oooo | 3000
3 | tttt | 2000我需要做的是,获得按视图排序的行,但从专用ID开始。是否可能。我所有的输入都是ID。让sat这个ID是6,这应该是输出:
id | name | views
------------------------
6 | cccc | 4000
5 | oooo | 3000
3 | tttt | 2000我不能使用极限,因为我不知道什么是目前的职位。我只需要得到以ID开头的行。
我想要做的是获得无限滚动,根据显示的最后一个元素请求下一个元素。唯一棘手的部分是,我是按视图参数排序。
发布于 2012-05-07 14:57:16
select * from table
where (views = 4000 and id>6) or (views < 4000)
order by views desc, id asc;棘手的部分是,您必须知道(选择) ID 6元素的视图;还需要使用ID作为次要排序标准,以获得一致的结果。
实际上,这是一个常见的情况,直到分页的类型。
发布于 2012-05-07 14:59:22
SELECT * FROM table
WHERE views <= (SELECT views FROM table WHERE id = 6)
ORDER BY viewshttps://stackoverflow.com/questions/10484227
复制相似问题