# 上一篇 select * from t where id > current_id limit 1#下一篇 select * from t where id < current_id limit 1
其实这是一个对于sql语句的活用 平常如果我们要查询一条记录的话 那么就只要让id=$id,如: select * from t where id = current_id 就可以查询出结果来: 然后我们可以换个思路 取数据库中排在他后面的记录就是 id>$id 然后取第一条就是以下的了 select * from t where id > current_id limit 1
上下篇会增加了两条查询,可在最开始就直接读取3条新闻。select * from news where newsID in(select newsID from news where newsID >=12 limit 2) or newsID in(select newsID from news where newsID <12 order by NEWSID desc limit 1)结果0即当前新闻,结果1为上一条,结果2为下一条,如果为空则不存在。
# 上一篇
select * from t where id > current_id limit 1#下一篇
select * from t where id < current_id limit 1
平常如果我们要查询一条记录的话
那么就只要让id=$id,如:
select * from t where id = current_id
就可以查询出结果来:
然后我们可以换个思路
取数据库中排在他后面的记录就是
id>$id
然后取第一条就是以下的了
select * from t where id > current_id limit 1
你这个子查询 + or不见得比3条sql查询快到哪里去,sql的优化不是靠3句拼成一句,就叫优化了