mysql 支持除运算么?

mysql 支持除运算么?,第1张

不支持,没有除运算的

AVG(col) 返回指定列的平均值

COUNT(col)返回指定列中非NULL值的个数

MIN(col) 返回指定列的最小值

MAX(col) 返回指定列的最大值

SUM(col) 返回指定列的所有值之和

GROUP_CONCAT(col) 返回由属于一组的列值连接组合而成的结果

MOD(x,y) 返回x/y的模(余数)

rand() 随机生成 0 - 1的浮点数 , 常与其他函数结合使用 ,比如 ceiling,floor,LPAD 等

如果要指定指定范围的随机整数的话,需要用这个公式FLOOR(i + RAND() * j),比如 

# 生成 7 - 11的随机数  SELECT FLOOR(7 + (RAND() * 5))

floor 地板取小于该值的最大整数 ,比如 0

mysql>select floor(1.23),floor(-1.23)

   1           -2 

ceiling 则相反,向上取整,取大于该值的最小整数 ,比如

SELECT CEILING(1.23)# 2

SELECT CEIL(-1.23)# -1

lpad 是左填充, 用法如下 :

LPAD(RAND()*31 + 1,2,'0')) # 取01-31的随机整数 ,保留两位,如果是一位,左边填0

这个语句是可能出问题的,考虑的情况不完整

因为当count(*)

*

0.2不是一个整数的时候就会报错

比如,你一共只有1条数据,那么你这个sql语句就是

limit

0,

0.2

所以只有在数据为10的倍数的时候,sql才能被正确执行

这里的limit的第二个参数,是要取出数据的条数,必须是整数

我建议你用脚本语言吧这个参数计算出来,处理正确正确之后再传入执行,或者使用mysql的取整函数

limit

0,

ceil(count(*)

*

0.2)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7406326.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存