问一个SQL Query的写法

发布于 2022-08-28 22:57:29 字数 551 浏览 14 评论 0

我有两个表,比如两个表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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦境 2022-09-04 22:57:29

和写法没有太大关系,主要是索引问题,建立联合索引,参见:
mysql里创建联合索引的意义?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文