网站首页 > 知识剖析 正文
下面是某户人家每天的用电量,表名是日用电量,日期这一列的数据类型是日期类型(date),现在想找出哪些天用电量比前一天多
日用电量
序号 | 日期 | 用电量/度 |
1 | 2021.8.1 | 13.3 |
2 | 2021.8.2 | 11.2 |
3 | 2021.8.3 | 20.1 |
4 | 2021.8.4 | 14.5 |
5 | 2021.8.5 | 15.6 |
6 | 2021.8.6 | 14.8 |
7 | 2021.8.7 | 15.2 |
这里要计算日期差值需要用到函数datediff或者timestampdiff。下面介绍一下这两个函数:
函数Datediff(日期1,日期2)是计算日期1与日期2相差的天数
如果日期1>日期2,那计算结果为正;
如果日期1<日期2,那计算结果为负。
函数timestampdiff(interval,datetime1,datetime2)比较的单位interval可以是以下数值:
- frac_second 表示时间间隔为 毫秒
- Second 表示时间间隔为 秒
- Minute 表示时间间隔为 分钟
- Hour 表示时间间隔为 小时
- Day 表示时间间隔为 天
- Week 表示时间间隔为 星期
- Month 表示时间间隔为 月
- Quarter 表示时间间隔为 季度
- Year 表示时间间隔为 年
此处是日期的比较,所以函数为timestampdiff(day,datetime1,datetime2)
如果datetime1>datetime2,那计算结果为负;
如果datetime1<datetime2,那计算结果为正,刚好与datediff(日期1,日期2)函数相反。
这里需要将两个数据进行比较,就需要用到交叉联结,如下图:
Select *
From 日用电量 as a
Cross join 日用电量 as b
红色框中左边是当天数据,右边是前一天数据,这就是题目中要找的日期对比数据
所以我们用datediff或者timestampdiff来查找a.日期>b.日期=1的数据
SELECT *
from 日用电量 as a
cross join 日用电量 as b
on datediff(a.日期,b.日期)=1
或者
SELECT *
from 日用电量 as a
cross join 日用电量 as b
on timestampdiff(day,a.日期,b.日期)=-1
然后题目中要求找出a.用电量>b.用电量
所以是
SELECT *
from 日用电量 as a
cross join 日用电量 as b
on datediff(a.日期,b.日期)=1
Where a.用电量>b.用电量
最后将多余的b.序号,b.日期,b.用电量去掉,只保留a的部分
SELECT a.序号,a.日期,a.用电量
from 日用电量 as a
cross join 日用电量 as b
on datediff(a.日期,b.日期)=1
Where a.用电量>b.用电量
这就是题目要求找出的用电量比前一天多的日期及其用电量。
大家学会了吗?需要日期比较的时候我们要先用内联结将数据联结起来方便我们进行比较,然后选择适当的函数进行时间比较,再用where条件语句筛选出条件,最后取出多余数据。
猜你喜欢
- 2024-11-12 Linux运维面试sql语句2 面试linux运维工程师提问哪些问题
- 2024-11-12 PowerBI时间日期函数 powerbi日期相减
- 2024-11-12 数据库日期与时间函数概览 数据库时间日期型
- 2024-11-12 画像笔记7- 非实时标签-统计标签-最近来访标签
- 2024-11-12 扎心了!面试时遇到要手写sql,结果函数拼写不出来
- 2024-11-12 还不用Excel算算离国庆还有多少天?Get这11个神技每天省2小时!
- 2024-11-12 种猪生产数据预处理方法之数据清洗
- 2024-11-12 Mysql数据库常见函数(下)——日期时间函数
- 2024-11-12 MySQL常用函数之日期函数 mysql日期yyyymmdd
- 2024-11-12 MySQL常用函数,程序员真得看看 mysql常见函数
- 04-29php开发者composer使用看这一篇就够了
- 04-29引用和变量声明在不同语言中的实作
- 04-29PHP 没你想的那么差
- 04-29Ubuntu linux 上的 Nginx 和 Php 安装
- 04-29CentOS下通过yum搭建lnmp(单版本PHP)
- 04-29为什么 PHP8 是个高性能版本
- 04-29PHP8函数包含文件-PHP8知识详解
- 04-29使用无参数函数进行命令执行
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)