mysql 您所在的位置:网站首页 SQL空值填充0 mysql

mysql

2023-06-23 18:26| 来源: 网络整理| 查看: 265

文章目录 1、if用法2、将某字段以逗号分隔并取前n个3、将多行的值合并并以逗号分隔4、根据起止日期计算天数5、按天分组统计,无数据显示0

1、if用法

select if(字段名 == 条件,满足时,不满足时) from table select if(字段名 is null ,满足时,不满足时) from table

2、将某字段以逗号分隔并取前n个

select SUBSTRING_INDEX(字段名,‘,’,n) from table

3、将多行的值合并并以逗号分隔

select GROUP_CONCAT(SUBSTRING_INDEX(g.picture_url,‘,’,1) SEPARATOR ‘,’)

4、根据起止日期计算天数

select ABS(DATEDIFF(start_time,end_time)) + 1 AS cycle from table

5、按天分组统计,无数据显示0

首先准备一张表table(注意table中的数据一定要足够多,比如想要查一个月内的分组统计,table表中就一定要有30条记录) SELECT @cdate := DATE_ADD( @cdate, INTERVAL - 1 DAY ) DAY FROM ( SELECT @cdate := DATE_ADD( ‘2023-06-13’, INTERVAL + 1 DAY ) FROM table) t0 LIMIT 15;

之后进行关联查询 三个问号分别填入结束日期,查询的总天数,自定义查询条件 select count(b.id) count,DATE_FORMAT(a.upload_time, ‘%Y-%m-%d’) uploadTime from ( SELECT @cdate := DATE_ADD( @cdate, INTERVAL - 1 DAY ) upload_time FROM ( SELECT @cdate := DATE_ADD( ?, INTERVAL + 1 DAY ) FROM gas_upload_alarm_data_residents ) t0 LIMIT ?) a left join (select * from gas_upload_alarm_data_residents where device_id = ?) b on a.upload_time = DATE_FORMAT(b.upload_time, ‘%Y-%m-%d’) GROUP BY a.upload_time



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有