SQL:获取范围内的数据

十亿

表格1:

id  chapter     sentence    text
1   1             1     This is line1
2   1             2     This is line2   
3   1             3     This is line3
4   1             4     This is line4
5   2             1     This is line1
6   2             2     This is line2   
7   2             3     This is line3
8   2             4     This is line4
9   2             5     This is line5
10  2             6     This is line6
11  2             7     This is line7
12  3             1     This is line1
13  3             2     This is line2
14  3             3     This is line3
15  3             4     This is line4
16  3             5     This is line5

我正在尝试获取范围内的数据。我已经尝试了一些查询,但是没有得到预期的结果。

GetData(beginingChapter, endingChapter, beginingSentence, endingSentence)
GetData(1, 3, 3, 4)

SQL查询:

SELECT *FROM table1 WHERE (chapter=1 AND sentence>=2) OR (chapter=3 AND sentence>= 1 AND sentence<= 4);

例外结果:

3   1       3       This is line3
4   1       4       This is line4
5   2       1       This is line1
6   2       2       This is line2   
7   2       3       This is line3
8   2       4       This is line4
9   2       5       This is line5
10  2       6       This is line6
11  2       7       This is line7
12  3       1       This is line1
13  3       2       This is line2
14  3       3       This is line3
15  3       4       This is line4

有什么建议?如何达到预期的效果?

约阿希姆·伊萨克森(Joachim Isaksson)

一种简单的方法是将查询的结构构造为对所有与下限匹配的页面具有一个条件,而对一个与上限匹配的页面具有一个条件,只需将它们与在一起即可;

SELECT * 
FROM table1 
WHERE (( chapter = 1 AND sentence >= 3 ) OR chapter > 1)
  AND (( chapter = 3 AND sentence <= 4 ) OR chapter < 3)

要使用进行测试的SQLfiddle

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL 从日期范围内每天获取数据

来自分类Dev

从perl范围内获取数据匹配

来自分类Dev

sql查询以检查给定范围内的数据和给定范围内的数据

来自分类Dev

SQL数据未显示某些日期范围内的数据

来自分类Dev

SQLite在X分钟范围内获取数据

来自分类Dev

从数据库中获取限制范围内的记录

来自分类Dev

如何获取日期范围内的数据总和

来自分类Dev

SQL Server-获取范围内的值的总和

来自分类Dev

如何提取位于Sql范围内的数据

来自分类Dev

从范围内的表中获取数据。范围是db2中的十进制

来自分类Dev

AngularJS获取范围内的选定项目

来自分类Dev

获取日期范围内的扣除结果

来自分类Dev

使用数学获取范围内的数字

来自分类Dev

获取日期范围内的数组元素

来自分类Dev

获取“ with”块范围内的文件对象

来自分类Dev

获取日期范围内的数组元素

来自分类Dev

获取日期范围内的of日数量

来自分类Dev

获取范围内的最大预订数

来自分类Dev

获取日期范围内的季节

来自分类Dev

获取日期范围内的扣除结果

来自分类Dev

MySQL查询以获取范围内的计数

来自分类Dev

如何压缩范围内的数据帧?

来自分类Dev

显示天数范围内的数据

来自分类Dev

如何读取命名范围内的数据?

来自分类Dev

如何读取命名范围内的数据?

来自分类Dev

VBA关于范围内的数据

来自分类Dev

如何压缩范围内的数据帧?

来自分类Dev

将数据分组到范围内

来自分类Dev

识别范围内的缺失数据