久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

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

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

問題描述

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

問題解答

回答1:

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

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

回答2:

先構(gòu)建一個最近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

主站蜘蛛池模板: 南康市| 麻栗坡县| 南平市| 大足县| 和林格尔县| 肇东市| 岳池县| 门头沟区| 沿河| 渭南市| 安图县| 江华| 弥勒县| 漳平市| 卢龙县| 仙居县| 三都| 清涧县| 罗定市| 乐昌市| 阿克陶县| 武邑县| 大邑县| 灵丘县| 通河县| 嘉善县| 右玉县| 锡林郭勒盟| 铜陵市| 峨山| 宜城市| 鄢陵县| 九龙坡区| 阳山县| 德安县| 巩留县| 沾益县| 大名县| 镇平县| 辽中县| 怀化市|