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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)