Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 未被数字除的行数_Mysql_Sql_Sql Server_Divide - Fatal编程技术网

Mysql 未被数字除的行数

Mysql 未被数字除的行数,mysql,sql,sql-server,divide,Mysql,Sql,Sql Server,Divide,我有一个像下面这样的专栏 Value _____ 48 48 39 96 50 我想把这个除以48 从上述5个值中,可以划分第1、2、4行,但不能划分第3、5行。我必须用SQL来实现这一点 例如: 当整数被48除时,您要求的是余数。在数学中有一个特殊的名字,模运算。这实际上是数论和群论中非常有趣的一部分 大多数数据库通过%支持模运算符或函数。因此,我们的想法是: select value from t where value % 48 = 0; 这可能是: where value mod 4

我有一个像下面这样的专栏

Value
_____
48
48
39
96
50
我想把这个除以48

从上述5个值中,可以划分第1、2、4行,但不能划分第3、5行。我必须用SQL来实现这一点

例如:


当整数被48除时,您要求的是余数。在数学中有一个特殊的名字,模运算。这实际上是数论和群论中非常有趣的一部分

大多数数据库通过
%
支持模运算符或函数。因此,我们的想法是:

select value
from t
where value % 48 = 0;
这可能是:

where value mod 48 = 0
where mod(value, 48) = 0
取决于数据库

另一种方法是:

where floor(val / 48) * 48 = val

您可以使用一个简单的where子句来实现这一点

SELECT value FROM table WHERE value%48 = 0
模运算符返回操作数除法的余数,这实际上意味着我们正在检查数字是否可除(当数字可除时,余数为零)

所以,若你们想计算什么是不可除的,那个么简单地使用下面的查询

SELECT count(value) FROM table WHERE value%48 != 0
您可以使用模数(%)来查找结果。检查下面的查询,它将帮助您

declare @tbl table (val int)

insert @tbl values(48),(48),(39),(96),(50)

select * from @tbl where val % 48 =0
输出

val
48
48
96

用您正在使用的数据库标记您的问题。
val
48
48
96