首页 / MYSQL / 一个关于MySQL瞎探讨
一个关于MySQL瞎探讨
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了一个关于MySQL瞎探讨,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1672字,纯文字阅读大概需要3分钟。
内容图文
![一个关于MySQL瞎探讨](/upload/InfoBanner/zyjiaocheng/504/ebcbefaa840d4f44a341178df5cffff2.jpg)
一个关于MySQL瞎探讨
闲暇的时候自己做着玩的小object,需要一个上一篇下一篇的sql语句这就是扯淡的故事背景!
假设当前有表 log ,字段 id,title,共7条记录.当前已知 id=4,请查找出 id>4 和 id <4 的id记录, 要求用一条sql语句.为了实现程序优化,如此逼迫自己,也是带有极致的自虐倾向,
题目出来了,想了好久,当时一门心思用子查询实现,在验证了不知道几次后,看到数据库的语法报错,一度怀疑,这个想法的可行性.于是想几个伙伴发出求解的QQ消息,结果都是懵逼,
当我删除代码放弃这烧脑的想法时,忽然就那么醒悟了.我可以类链接呀
语句
SELECT a.id,a.title,b.id AS id2,b.title AS title2 FROM log AS a INNER JOIN log AS b WHERE a.id < 4 AND b.id > 4 ORDER BY a.id DESC LIMIT 1
结果
id title id2 title2
3 这是一篇日志 5 我的活着是为了等死
我擦,真的可以吗?冷静后仔细一思考,这样的查询会在id等于最大/最小值时,就查不到数据了,比如id是7和1,不太完美但也还可以,好评4分吧
我把这个语句,发给伙伴们.不久后好消息结着就到了,伙伴给出的语句
SELECT id,title FROM log WHERE id IN ( (SELECT max(id) FROM log WHERE id < 4),4,(SELECT min(id) FROM log WHERE id > 4))
结果也是可行的,不过得到数据还要2次处理,并且这条语句是近似一条语句的子查询语句,(应该不是很贴题)好评4分
这条也是子查询的方法,不在表述
SELECT id,title FROM log WHERE id = (SELECT id FROM log WHERE id<4 ORDER BY id DESC LIMIT 1) OR id = (SELECT id FROM log WHERE id>4 ORDER BY id ASC LIMIT 1)
在分享一条扯淡的sql
SELECT id-1,title FROM log WHERE id >2;
扯了好久,也没个5分的答案,可能是老张才学疏浅,期待大神的执笔赐教!
一个关于MySQL瞎探讨
标签:优化 思考 rom 报错 答案 nbsp 程序 扯淡 order
本文系统来源:https://www.cnblogs.com/daylog/p/10115203.html
内容总结
以上是互联网集市为您收集整理的一个关于MySQL瞎探讨全部内容,希望文章能够帮你解决一个关于MySQL瞎探讨所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。