首页 > 问一个SQL Query的写法

问一个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,对这个完全没有任何想法要如何写(何况还要优化:()
谢啦


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

【热门文章】
【热门文章】