欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

MySQL如何按時間統計數據?

錢多多2年前15瀏覽0評論

MySQL按時間統計,這個MySQL里面有一系列的日期、時間函數,我們可以利用相應的日期時間格式的函數進行統計篩選。比如需要統計某一時間范圍內的交易額,就可以按如下方式去統計:

selectsum(order_cash)fromdm_fact_order_summaywherecreate_datebetween'2018-01-0100:00:00'and'2018-02-0100:00:00';

上面語句表示統計統計2018年1月份的交易額。在這里我們可以更深入地探討一下關于日期統計的一些常用使用場景。

統計月份的交易額

selectdate_format(create_date,'%Y-%m')month_name,sum(order_cash)total_cashfrom

dm_fact_order_summaywherecreate_between'2017-01-0100:00:00'and'2018-01-0100:00:00';

可能會有人提出疑問如果是不做年份的限制,應該如何去統計呢?這個時候其實很好處理直接去除掉后面的where篩選條件就可以了。

按星期統計交易額

我們經常看到2017年第1周交易額是多少、第2周交易額是多少這樣的提問,此時我們可以在上面的基礎上做一些調整:

selectconcat(year(create_date),'第',week(ceeate_date),'周')week_name,sum(order_cash)total_cashfromdm_fact_order_summary;

這樣我們就可以知道任意年份的星期交易情況,便于我們通過數據的同比和環比分析。

當然,數據的統計不僅通過where的條件語句進行篩選,也可以通過casewhen的類if...else..語法,幫助我們在統計的時候做區分,把滿足條件的置成我們想要的值,不滿足條件的置成另外的值,常見的有0或者Null的方式。如果置成0,則大部分需要結合sum函數使用,置成Null的則需要結合count使用。