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

主站蜘蛛池模板: h视频在线免费 | av网站在线看 | 亚洲九色 | 精品视频一区二区三区 | 国产免费一区二区三区免费视频 | 久久香蕉精品视频 | 精品视频一区二区三区四区 | 黄色欧美| 国产精品久久久久久久午夜片 | 欧美一级久久 | 日韩高清中文字幕 | 日韩视频91| 久久久久久国产一区二区三区 | 国产一区二区三区视频免费观看 | 中文字幕亚洲精品在线观看 | 祝你幸福电影在线观看 | 国产精品综合色区在线观看 | 精品少妇v888av | 黄色欧美大片 | 亚洲综合久久久 | 99re视频在线观看 | 性网址 | 国产91综合一区在线观看 | 91精品国产一区二区三区香蕉 | 久久亚洲免费 | 91视频网址 | 天天草草草 | 久久99久久98精品免观看软件 | 国产精品久久一区二区三区 | 国产精品视频一区二区三区不卡 | 国产色婷婷久久99精品91 | 美女视频一区二区 | 国产精品久久久久久婷婷天堂 | 一级欧美视频 | 午夜一区 | 人人干人人看 | 91久久久久 | 久久中文字幕一区 | 久久精品一 | 欧美成人h版在线观看 | 欧美精品一区二区三区蜜臀 |