午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

mysql優(yōu)化 - mysql 查7天數(shù)據(jù),無(wú)數(shù)據(jù)的補(bǔ)0怎么寫呢?

瀏覽:193日期:2022-06-19 10:28:30

問題描述

表里有個(gè)字段紀(jì)錄每次點(diǎn)擊的時(shí)間,查最近7天每日的數(shù)據(jù),但其中可能有幾天沒數(shù)據(jù),怎么把沒數(shù)據(jù)的天數(shù)設(shè)置為0,sql語(yǔ)句怎么寫

問題解答

回答1:

據(jù)我所知,mysql只能說在null的時(shí)候返回其他值(比如SELECT IFNULL( (SELECT field1 FROM table WHERE id = 123) , 0);),但像題主這樣要補(bǔ)上本來不存在的數(shù)據(jù)挺難,可能別人會(huì)有方法。

我想說的是,就算sql能搞定這件事,也最好不要放sql,而是放在你的應(yīng)用程序里。這種邏輯性的東西放程序里更好管控,也更方便理解

回答2:

先構(gòu)建一個(gè)最近7天的結(jié)果集,然后和查詢出的結(jié)果集做Left Join,如:

select a.click_date, ifnull(b.click_qty, 0)from ( select * from ( SELECT curdate() as click_date union all SELECT date_sub(curdate(), interval 1 day) as click_date union all SELECT date_sub(curdate(), interval 2 day) as click_date union all SELECT date_sub(curdate(), interval 3 day) as click_date union all SELECT date_sub(curdate(), interval 4 day) as click_date union all SELECT date_sub(curdate(), interval 5 day) as click_date union all SELECT date_sub(curdate(), interval 6 day) as click_date )) a left join ( select click_date, count(*) as click_qty from click_log_table group by click_date) b

主站蜘蛛池模板: 成人国产精品久久 | 日韩美女福利视频 | 亚洲精品国产一区 | 日韩精品天堂 | 久操资源网| 久久精品视 | 国产最新在线视频 | 日韩在线欧美在线 | 日韩a级大片| 成人免费在线播放 | 成人av黄色| 亚洲淫片 | 欧美中文字幕在线播放 | 免费观看av| 91视频在线观看网站 | 中文字幕成人 | 中文字幕在线二区 | 亚洲国产视频网站 | 亚洲成年人专区 | 亚洲成av人影院 | 国产一级片子 | 超碰老司机 | 精品国产福利 | www欧美日韩 | 四虎成人在线 | 一道本在线视频 | 91精品国产一区二区三区 | 激情第一页 | 中文字幕网址在线 | 欧美高清一区 | 久久99免费 | 偷拍亚洲欧美 | 日韩精品久久久久久久的张开腿让 | 亚洲精品久久久久avwww潮水 | 亚州综合视频 | 爱爱免费网站 | 草久久久 | 久久国产综合 | 亚洲天堂2020 | 香蕉视频2020| 一区二区视频免费观看 |