Mysql 数据库常用函数总结

ifnull(判断是否为空)
select IFNULL("1111","22") as value ;  -- 输出111
select IFNULL(null,"22") as value ;     -- 输出 22

IFNULL(expression, alt_value)
第一个参数表示判断是否为空的值,第二个参数是为空时返回的值

datediff (求日期相差天数)
  1. 返回两个日期之间相差的天数
select datediff('2021-09-28 00:00:00','2020-01-21 00:00:00') -- 输出 616

编写一个 SQL 查询,来查找与之前(昨天的)日期相比温度更高的所有日期的 id 返回结果
输入:
Weather 表:
±—±-----------±------------+
| id | recordDate | Temperature |
±—±-----------±------------+
| 1 | 2015-01-01 | 10 |
| 2 | 2015-01-02 | 25 |
| 3 | 2015-01-03 | 20 |
| 4 | 2015-01-04 | 30 |
±—±-----------±------------+
输出:
±—+
| id |
±—+
| 2 |
| 4 |
±—+
解释:
2015-01-02 的温度比前一天高(10 -> 25)
2015-01-04 的温度比前一天高(20 -> 30)

SELECT
	a.id 
FROM
	Weather a
	INNER JOIN Weather b ON DATEDIFF( a.recordDate, b.recordDate ) = 1 --日期相差一天
	AND a.Temperature > b.Temperature     -- 温度大于前一天
limit 和 offset(分页)
  • 取查询的前三条记录
select* from user limit 3
  • 取1后面的第2,3,4三条条数据
select * from user limit 1,3;
或者使用ofset 
select * from user limit 3 offset 1;

limit 的两个参数,第一个数表示要跳过的数量,后一位表示要取的数量
offset 表示跳过1条数据,从第2条数据开始取,取3条数据,也就是取2,3,4三条数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值