av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

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

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

問(wèn)題描述

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

問(wèn)題解答

回答1:

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

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

回答2:

先構(gòu)建一個(gè)最近7天的結(jié)果集,然后和查詢(xún)出的結(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

主站蜘蛛池模板: 91精品成人久久 | 日韩精品在线一区 | 一区二区日韩 | 波多野吉衣在线播放 | 久久av网 | 四虎影视 | 欧美一级免费 | 久久激情网 | 中文字幕在线一区 | 精品久久不卡 | 免费av观看 | 日韩欧美国产一区二区 | 久草网站| 久久久久久久成人 | 国产欧美精品区一区二区三区 | 欧美大片在线观看 | 国产成人综合网 | 国产精品视频中文字幕 | 野狼在线社区2017入口 | 99视频网 | 亚洲欧美一区二区三区国产精品 | 日韩欧美大片在线观看 | 日韩综合在线 | 久久久免费精品 | 久久精品亚洲欧美日韩精品中文字幕 | 伊人久久在线 | 91看片免费| 亚洲精品三级 | 五月婷六月丁香 | 亚州一区二区三区 | 久久久久高清 | 午夜在线视频 | 宅男伊人 | 91精品久久久久久综合五月天 | 国产 日韩 欧美 在线 | www.久久| 不卡av电影在线播放 | 91精品国产自产精品男人的天堂 | 一级做a爰片性色毛片视频停止 | 91美女视频| 一区二区视频在线 |