mysql 查询上一周每一天的数据(含跨年问题)

mysql查询一周内或者一个月内的数据,为空null没有数据记录的补0 需求:查询一段时间每一天的数据,没有数据返回0; 举个栗子,要查询一周内每一天的数据,t_temp表如图: 开始这样写: DATEDIFF(date_expression_1,date_expression_2);函数计算两个DATE,DATETIME或TIMESTAMP值之间的天数。这里是一周所以小于7 select SUM(tt_id) as sum, tt_date as da... 阅读详情

今天在写一个关于上一周每天的流量数据查询,起初的想法是用week函数来处理这个问题,用week函数减一,然后按WEEKDAY来分组,即可得到上周的数据。

SELECT

WEEKDAY(a.leave_time) AS '星期',
COUNT(a.leave_time) AS '出场流量'
FROM
(
SELECT
a.leave_time
FROM
biz_vehicle_collect_fee_record_day a
WHERE
YEAR(a.leave_time)=YEAR(NOW()) AND WEEK(a.leave_time)=WEEK(NOW())-1
UNION
SELECT
b.leave_time
FROM
biz_vehicle_collect_fee_record_his b
WHERE
YEAR(b.leave_time)=YEAR(NOW()) AND WEEK(b.leave_time)=WEEK(NOW())-1
) a
GROUP BY

WEEKDAY(a.leave_time)

刚开始觉得这样并没有问题,在测试的时候发现在跨年的情况下就不适用了,这使得week()-1是0,而不是上一年的最后一周。

因此只能想其他办法去解决,这是的思路就是:将时间放在函数内部处理,然后在去和数据库的时间进行比较。

解决方案如下:

SELECT
WEEKDAY(a.leave_time) AS '星期',
COUNT(a.leave_time) AS '出场流量'
FROM
(
SELECT
a.leave_time
FROM
biz_vehicle_collect_fee_record_day a
WHERE
YEARWEEK(a.leave_time,1) = YEARWEEK(DATE_SUB(NOW(), INTERVAL 7 DAY),1)
UNION
SELECT
b.leave_time
FROM
biz_vehicle_collect_fee_record_his b
WHERE
YEARWEEK(b.leave_time,1) = YEARWEEK(DATE_SUB(NOW(), INTERVAL 7 DAY),1)
) a
GROUP BY
WEEKDAY(a.leave_time)

如上,利用DATE_SUB(NOW(), INTERVAL 7 DAY) 函数,先对时间惊醒处理,减去七天,然后再用 YEARWEEK函数去跟数据库里的时间进行筛选,最后再按WEEKDAY分组,这样就可以处理掉跨年时的问题了。奋斗

MySQL中时间转换周的3种函数比较 一、week 不跨年 WEEK(date[,mode])函数 此函数返回日期的周数。双参数的形式WEEK()允许你指定星期是否开始于周日或周一,以及是否返回值应在范围从0到53或从1到53。 如果省略了mode参数,系统default_week_format变量的值被使用。 SELECT order_time, week( order_time) AS order_week FROM ... 阅读详情

相关推荐

ESP-01S使用micropython,利用Thonny烧写固件

在家舒服的太久了,想学习点新的东西,这次看上了ESP8266系列的联网设备,想自己做点小玩意出来耍耍,下面跟我一起来学习吧。本篇主要记录固件的烧写及测试。Thonny下载链接不算难,但是网上资源较少。也是提醒自己不要忘记这个步骤,记录一下,也分享给和我一样开始接触的小伙伴,加油加油,万事开头难。

weixin_43422072的博客 1693

mysql根据周查询统计,比如week()或者DATE_FORMAT或者跨年要注意的几点

目录 前言: 周的划分情况: 1.周的起始 2.周的跨年 3.一年有多少周? Mysql的做法: 每周的第一天: 返回值区间: 如何得出返回值是1: 总结: 其他: 前言: 周检索和月检索是不一样的,月检索是超级简单。 但是周检索稍不注意,就会入坑,而且是很久之后才发现的,比如元旦。 在详细接触周检索之前,你需要了解一些关于周的知识。 周的划分情况: 1....

做你想做的人,没有时间的限制,只要愿意,什么时候都可以start。 7314

自动驾驶仿真(二)—— 基于PreScan与Simulink的联合仿真

自动驾驶仿真软件介绍二—— PreScan与Simulink联合仿真1. Prescan仿真软件2. Prescan与Simulink联合仿真2. 1 Prescan和matlab软件安装2. 2 联合仿真配置3. 联合仿真实例3.1 一辆不按法规行驶的小车3.2 另一辆的正常行驶的小车3.3 视觉辅助摄像机3.4 传感器检测4. 系列学习视频教程5. 参考学习的书目教材 上一篇博文简单介绍了Carsim与Simulink联合仿真,接着这篇就再继续简单介绍另一款自动驾驶仿真软件Prescan,并且简单做个P

zhudj08的博客 1万+

mysql中 周对应年计算方式。

mysql中 周对应年计算方式

爱摄影的小章同学的博客 1425

Windows安装Pytorch3d

pytorch和pytorch3d版本对应关系如下:https://github.com/facebookresearch/pytorch3d/releasescuda和NVIDIA CUB版本对应关系如下:https://github.com/NVIDIA/cub/releases?page=1本人配置如下:GPU:1050TiCUDA:11.1python:3.8。

Snakewood的博客 4287

Matlab波动光光学系统

波动光学是一种研究光波传播过程的理论,按照其处理的信息类型不同,可以分为相干和非相干波动光学,相干波动光学可以用作特定光学系统的分析和设计,其主要依赖物理光学和电磁波的基本原理,以及光学干涉和衍射的经验方程式,其中光波传播过程是以复数形式表示的,包括振幅和相位两个方面。近年来光学技术得到了广泛的应用和发展,波动光光学系统是其中一种重要的光学系统,它主要是利用波动光学原理,通过计算机模拟实现各种光学系统的设计、分析和优化,可应用于大气光传输、光束整形、分析系统的衍射和干涉特性,包括利用。

weixin_50547796的博客 261

mysql 周_MySQL的跨年周统计问题

在mysql中,如果要查询的表中只有日期字段,但是业务需求要按照周分组,排序的话,mysql提供了多种方法;1。date_formatDATE_FORMAT(date, format) 函数根据format字符串格式化date值。这里可以使用 date_format(date,"%Y-%U")将日期格式化为year-week的方式(注意大小写,Y、U以及更多格式化支持的字符串可以百度或者参考下方文...

weixin_26798991的博客 1923

Carla中如何渲染opendrive车道线和车道标识(全网独家,附代码)

carla是可以单独加载opendrive并渲染路面的,但是无法把车道线渲染出来,这是一个大坑,因为没有车道线就无法给感知输入。楼主已经实现,直接渲染车道线或者带PBR贴图的车道标识。实现起来非常简单,但必须对carla源码以及ue的开发足够了解。在carla源码中有一个很重要的类opendrivegenerator,它是关于opendrive渲染的全部方法,但是你是找不到它实例化的地方的,因为它被定义在蓝图关卡中。网上包括carla官方关于carla源码的分析少之又少,楼主将自己的经验写出来供大家参考。

u013998156的博客 1094

mysql 跨年按周分组

use employees; create table sales( id int auto_increment, date datetime not null, cost int unsigned not null, primary key(id) ); insert into sales (date,cost)values('2010-12-31',100); i...

sdywcd——jshoper3x开源商城系统作者 370

【SigmaStudio】自定义算法组件之XML编写规范(一)

SigmaStudio生成自定义算法组件时,需要XML和DLB文件,本文主要记录XML文件的编码规范

liang_song的博客 1142

2026基金本子新规必看!聚焦四大底层问题,利用AI辅助分别破解提升中标率

我拟申报的研究主题为【明确的研究主题或关键词组合】。选题方向也是评审专家关注的核心之一,申报前可以检索近五年领域前人中标项目,分析现有研究的空白与不足,并结合自身研究基础选择 “人无我有、人有我优” 的细分方向,如果是交叉学科选题,则要阐述不同学科的融合逻辑与创新点。“推动国家战略”、“带来行业发展”等宏观表述,有很多同仁都喜欢用这类话术开篇,但实际上宏大叙事无法替代具体的真实科学问题,明确不了研究要解决的核心痛点,更没有说明问题的现实针对性,评审看了往往抓不到研究的核心价值。

智能AI让学术科研更容易 295

mysql查询一周内每天的数据

mysql查询一周内每天的数据 效果如图(这里SQL语句中的一周范围是指星期一到星期日,星期一为一周的第一天,因是8月11日查询的,所以只显示星期一到星期六的结果): 日历: 简单来说就是用今天的日期生成前七天的日期(利用union all命令),并根据星期一的日期条件刷选出本周的日期 SELECT DATE(subdate(curdate(),date_format(curdate(),'%w')-1)) as thisweek ...

csdnlaiyanqi的博客 3365

【华为OD机试真题 新系统】1043、魔法咒语组合 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

【华为OD机试真题 新系统】1043、魔法咒语组合 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2026e卷,od机试,2026E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2026华为od,如何备战华为od

KJ.JK 285

mysql 一周一月_MySQL查询一天、一周、一月内的数据

在WEB编程中,通常需要查询一天、一周或一个月内的数据记录,贴几条轻松获取指定时间内数据记录的SQL语句:查询一天:1select*fromtablewhereto_days(column_time) = to_days(now());2select*fromtablewheredate(column_time) = curdate();查询一周:1select*fromtablewhereDAT...

weixin_36116139的博客 643

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

sql 查询一周中每一天的数据_数据产品运营MySQL导言

我始终认为,能够熟练掌握一项技能,是你能够在这个社会上安身立命的法宝,虽然本科期间也学习了很多技能,但用进废退的道理始终摆在那里。直到接触了具体业务后,对技术的要求也越来越高,因运营时常需要从数据库后台取数查询,选择SQL轻量级取数语言则是最好不过了,我也赞同它并不是变成语言,而是一门较为简单的取数语言。熟练运用基本的语法后,不多但要精,剩下的就是如何跨表查询及表与表之间的对应关系的梳理...

weixin_39896617的博客 279

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

mysql 近几天内_MYSQL查询一周内的数据(最近7天的)

select * from wap_content where week(created_at) = week(now)如果你要严格要求是某一年的,那可以这样查询一天:select * from table where to_days(column_time) = to_days(now());select * from table where date(column_time) = curdat...

weixin_42533910的博客 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

mysql 最近1天数据_mysql如何查询一天内的数据

mysql查询一天内的数据的方法:1、查询今天的【select * from 表名 where to_days(时间字段名)= to_days(now())】;2、查询昨天的【SELECT * FROM 表名 WHERE TO_DAYS】。mysql查询一天内的数据的方法:今天select * from 表名 where to_days(时间字段名) = to_days(now());昨天SELE...

weixin_36378771的博客 2852

mysql查询一天,查询一周,查询一个月的数据

mysql查询一天,查询一周,查询一个月的数据 查询一天: select * from table where to_days(column_time) = to_days(now()); select * from table where date(column_time) = curdate(); 查询一周: select * from table   where DATE_

HYDchosen1的博客 1348

Mysql中进行一周数据查询

解决mysql查询一周周一到周日的数据问题

jll2014210714的博客 7944

【mysql】查询某一年 某一月 某一天的数据

查询某一年 某一月 某一天的数据(可组合) select * fromymt where date_format(inDate,'%Y-%m-%d')='2016-10-10';  (inDate为表中列名) mysql查询一天,查询一周,查询一个月内的数据 查询一天 select * from ymt where DATE(inDate)=CURDATE();   

月影斜的博客 2万+

mysql查询一周内datediff_mysql中怎么查询一周内,三个月内,半年内的数据?

满意答案mysql中怎么查询一周内,三个月内使用sql语句查询日期在一周内的数据select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0 //查询当天日期在一周年的数据select * from ShopOrder where datediff(day,ordTime,getdate()-1)=0 //查询当天的所...

weixin_34792641的博客 579

MySQL 跨库查询指南

MySQL 跨库查询指南

huanhuanzhou blog 3531

(Mysql)跨表查询和跨库查询

新建测试数据库:create database test_cour; 选择数据库:use 数据库名; 查看数据表:show tables; 创建数据表里面的字段(列)名: create table 表名( //列名 字符格式 约束 //注意末尾加逗号,最后一列末尾除外 uid int(32) primary key auto_increment, //primary key 定义这个字段为主...

RongChun的博客 8403

MySQL -- 查询5天之内过生日的同事中的跨年问题的解决过程

前言: 遇到朋友提问,如下: SELECT*FROMali_usersWHEREDATEDIFF(CAST(CONCAT(DATE_FORMAT(NOW(),'%y'),DATE_FORMAT(birthday,'-%m-%d'))ASDATE),CAST(DATE_FORMAT(NOW(),'%y-%m-%d')ASDATE))<=1 上面的可以找到今天或...

csdn's blog 1万+

MySQL系列—DATE_SUB 使用方法结合查询一天内,一周内,一月内的信息实例讲解

** 在对数据查询或菜单时经常要对指定的时间或时间段进行查询,例如要查询一天内的信息,要查询一周内的信息,要查询一个月内的,在此向大家介绍DATE_SUB函数,同时结合实例进行讲解,希望对大家有所帮助. **定义和用法DATE_SUB() 函数从日期减去指定的时间间隔。1.语法DATE_SUB(date,INTERVAL expr type)date 参数是合法的日期表达式。expr 参数是您

此博客已停用,博文会逐渐转移到新地址,http://blog.youkuaiyun.com/liupeifeng3514 1621
下一篇: JavaScript密码强度提示
Return_KB
博客等级 码龄9年 23粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值