如何在sql中选择确切的行(确切的数字)

时间:2016-02-18 17:59:07

标签: sql select

我在sql中选择了一个问题。 假设我有一个包含列的表:ID,小时,温度(行数)。 我想选择每行96行,由ID数字决定。 我的意思是行号96,192,288(+96)等...... 你能帮助我并给我正确的sql语句吗?

2 个答案:

答案 0 :(得分:0)

如果你确定了一个" Row"通过它ID,你可以通过找到ID的模数来做到这一点(模数是"余数"除以两个数后)。如果将数字除以96并且模数为0,那么您将得到96的倍数。

在大多数RDBMS中,函数MOD()将在这里起作用,尽管函数的名称及其参数可能依赖于RDBMS,因此需要注意:

SELECT *
FROM <table>
WHERE MOD(ID,96) = 0;

答案 1 :(得分:0)

SELECT *
FROM table
WHERE ID % 96 = 0;

编辑: 在几乎所有语言中,%符号是模运算符,当它像%b一样使用时,除以b并返回余数。正如JNevill所说,当%b = 0时,则a是b的干净倍数。

还应该注意,像这样的查询不是SARGable,在大型表格上表现不佳。