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