您好,很高兴为您解答。
方法一:
查询上一条记录的SQL语句(如果有其他的查询条件记得加上other_conditions以免出现不必要的错误):
select * from table_a where id = (select id from table_a where id < {$id} [and other_conditions] order by id desc limit 1) [and other_conditions]查询下一条记录的SQL语句(如果有其他的查询条件记得加上other_conditions以免出现不必要的错误):
select * from table_a where id = (select id from table_a where id > {$id} [and other_conditions] order by id asc limit 1) [and other_conditions]方法二:
查询上一条记录的SQL语句((如果有其他的查询条件记得加上other_conditions以免出现不必要的错误))
select * from table_a where id = (select max(id) from table_a where id < {$id} [and other_conditions]) [and other_conditions]查询下一条记录的SQL语句(如果有其他的查询条件记得加上other_conditions以免出现不必要的错误):
select * from table_a where id = (select min(id) from table_a where id > {$id} [and other_conditions]) [and other_conditions]如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
希望我的回答对您有所帮助,望采纳!
~ O(∩_∩)O~
楼下这样肯定不行 楼主要的是去重 但还有其他的字段 其他的字段可能不重复我不清楚你有多少字段 比如有一个列是aa 表名是tb
有不明白的随时来问我 希望解决了楼主的问题
select min(aa) aa,id from tb group by id
--改正 你把表名换一下就可以了
select case when bz=1 then id else null end as id,name,money from (
select *,ROW_NUMBER() over (partition by id order by name) bz from tb) aa
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)