请教一个 sql
查 cc 表, 根据 time 排序后,获取 aid = xxx 之后的数据
比如排序后的总数据是这样子 [ {aid: 'a'}, {aid: 'b'}, {aid: 'c'}, ... ]
我要 aid = 'b' 之后的数据 [{aid: 'c'}, ...]
![]() | 1 hay0577 2022-03-14 12:30:32 +08:00 要个 sql 语句??? |
![]() | 2 sadfQED2 2022-03-14 12:50:02 +08:00 via Android 你直接发一条数据 demo 上来,我给你写条 sql |
3 bobo2 OP @hay313955795 是滴是滴 |
4 bobo2 OP [ {aid: '47BUB4lwDXS', time: 1647233521466, name: 'ppp'}, {aid: '47BUB4lwDCS', time: 1647233521467, name: 'qqq'}, {aid: '47BUB4lwCAS', time: 1647233521466, name: 'sss'}, {aid: '47BUB4lQDXS', time: 1647233521462, name: 'ggg'}, ] SELECT * from idx 这样,根据 time 倒序后,获取 aid 为 47BUB4lwCAS 之后的数据 |
5 bobo2 OP @sadfQED2 [ {aid: '47BUB4lwDXS', time: 1647233521466, name: 'ppp'}, {aid: '47BUB4lwDCS', time: 1647233521467, name: 'qqq'}, {aid: '47BUB4lwCAS', time: 1647233521466, name: 'sss'}, {aid: '47BUB4lQDXS', time: 1647233521462, name: 'ggg'}, ] SELECT * from idx 这样,根据 time 倒序后,获取 aid 为 47BUB4lwCAS 之后的数据 |
![]() | 6 F281M6Dh8DXpD1g2 2022-03-14 12:57:27 +08:00 rank 之后取比那条的 rank 大的完事 |
7 bobo2 OP 或者说,除了 limit ,还有其他方式在查询时候跳过指定条数据吗,比如在排序后跳过 3000 条,从第 3001 条开始查询,存在这种关键字吗 |
![]() | 8 sqfphoenix 2022-03-14 13:19:19 +08:00 select * from idx where time > (select time from idx where aid = 'xxx') 瞎写的不知道对不对大概就这个意思吧 |
9 bobo2 OP @sqfphoenix time 可能存在相同值 >_<,怪我没说清楚 |
![]() | 10 sqfphoenix 2022-03-14 13:34:14 +08:00 ![]() @bobo2 不太明白,是指多个 aid 有同一个 time 吗,那对于同一个 time 来说传入的 aid 不同得到的结果也不同,这个业务逻辑是有问题的吧 如果说只要排除自己只要改成 select * from idx where time >= (select time from idx where aid = 'xxx') and aid <> 'xxx'就可以了吧 |
11 bobo2 OP @sqfphoenix 对的,我改用 rownum 做了 |
![]() | 12 spLite 2022-03-14 16:24:06 +08:00 select * from (select * from idx order by time)t where t.aid>'47BUB4lwCAS '; |
13 rocbyte 2022-03-14 16:45:39 +08:00 1.先找到 aid="47BUB4lwCAS" 这条数据的时间 2.然后用 找到的时间作为条件查询,并倒序排序 select * from idx where time<= 1647233521466 order by time desc |
![]() | 14 Codelike 2022-03-14 17:10:57 +08:00 @sqfphoenix 不等于也不对。还是 select * from idx where time >= (select time from idx where aid = 'xxx') ,然后在逻辑里面再去掉 aid='xxx'和它之前的数据 |
![]() | 15 Ct5T66PVR1bW7b2z 2022-03-14 17:25:04 +08:00 ![]() 哈哈,原来真的是前端对后端表示无力,后端对前端表示无力 |
![]() | 16 MrTLJH 2022-03-14 18:28:04 +08:00 |
17 seakingii 2022-03-14 21:24:07 +08:00 @Abbeyok 前两天做核酸检查,排队的时候,前面几个人一个公司的,在讨论说:后端转前端很轻松,前端转后端很难....因为后端的工作比前端难 |