问一个SQL Query的写法
我有两个表,比如两个表A里是IDx和一些他的属性列如下
IDx ColumnA ColumnB ColumnC
表B 是IDy和IDx的关系
IDy IDx 还有一些其他的属性列
IDx和IDy是一对多的关系
比如表B可以是下面这种格式 IDy IDx | 6 10 | 5 10 | 17 10 | 8 10 | 9 10 | 18 10 | 27 10 | 38 10 | 39 10 | 7 10 | 40 12 | 37 10 | 36 20 | ... ...
如果用户给定一个IDx,比如10,然后给一个size比如3,我们希望返回IDx下面所有的范围大小大于这个3的连续范围的起始和结束ID
比如上面这个表,IDx 10有4个连续范围,5-9, 18, 27, 37-39,其中5-9和37-39的范围大于3,所以返回如下
IDx RangeStart RangeEnd| 10 5 9 |10 37 39
而且希望这个query运行的越快越好
我刚刚才学习sql query,对这个完全没有任何想法要如何写(何况还要优化:()
谢啦
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
和写法没有太大关系,主要是索引问题,建立联合索引,参见:
mysql里创建联合索引的意义?