MYSQL之排序及常见函数

MYSQL02 P39

排序

order by ASC升序 DESC降序

select * from 表 order by 字段 asc;
支持多个字段进行排序
如:select * from 表 order by 字段 asc,字段 desc;
按函数排序		LENGTH(字段)
特点:
	1.asc是升序,desc是降序。默认为asc。
	2.order by子句中可以支持多个字段、表达式、函数、别名。
	3.order by子句一般是放在查询语句后面,limit子句除外。

常见函数

	select 函数名(实参) 【from 表】;
	分类:
		1.单行函数:concat、length、ifnull等
		2.分组函数(做统计使用),又称统计函数、聚合函数

字符函数

	1.length()	获取参数值的字节个数
	2.concat()	拼接字符串
	3.upper()、lower()	将字段值变大写\小写    还有 lcase(), ucase(),但是其他数据库中函数相兼容,因此不建议使用
	4.substr(substring)	截取
		sql中,索引从 1 开始
		substr('abcdef',1,3)
		结果集返回:'abc'
	5.instr()	返回子串第一次出现的索引
		select instr('abcdef','cd');
		返回结果:3
	6.trim()	去除前后空格及指定字符    ltrim()、rtrim()
	7.lpad()	用指定的字符实现左填充指定长度
	8.rpad()	用指定的字符实现右填充指定长度
	9.replace()	替换

数学函数

	1.round()	四舍五入
	2.ceil()	向上取整 返回>=该参数的最小整数
	3.floor()	向下取整 返回<=该参数的最大整数
	4.truncate()	截取
	5.mod()	取余		a-a/b*b

日期函数

	1.now()	返回当前系统日期+时间
	2.curdate()	返回当前系统日期,不包含时间
	3.curtime()	返回当前时间,不包含日期
	4.str_to_date()	将字符通过制定的格式转换成日期
	5.date_format()	将日期转换成字符

流程控制函数

	1.if函数:if	else的效果
		SELECT IF(expr1,expr2,expr3)
		若expr1判断为trur,则取expr2的值
		若expr1判断为false,则取expr3的值
	2.case函数
		1)	case 要判断的字段或表达式
			when 常量1 then 要显示的值1 或 语句1;
			when 常量2 then 要显示的值2 或 语句1;
			....
			else 要显示的默认值或语句n;
			end
		2)	case 
			when 条件1 then 要显示的值1 或 语句1;
			when 条件2 then 要显示的值2 或 语句2;
			....
			else 条件n then 要显示的值n 或 语句n;
			end

分组函数

1.		
	1.sum
	2.avg
	3.max
	4.min
	5.count	计算个数,会忽略null值
	以上分组函数都忽略null值
	和分组函数一同查询的字段要求是group by后的字段

Count()

	1.在MYISAM引擎中,count(*)把表的总行数存在了磁盘上,因此效率高。
	INNODB中,count(*)需要将表中数遍历读取,然后累计计数,所以较慢。
	2.count('字段')效率比count(1)、count(*)效率低,因为其中需要对'字段进行判断'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值