欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql如何分組統(tǒng)計(jì)并求出百分比

 更新時(shí)間:2022年10月11日 16:59:11   作者:木木-木  
這篇文章主要介紹了mysql如何分組統(tǒng)計(jì)并求出百分比,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mysql分組統(tǒng)計(jì)并求出百分比

1、mysql 分組統(tǒng)計(jì)并列出百分比

SELECT
?? ?point_id,
?? ?pname_cn,
?? ?play_num,
?? ?round( play_num / total * 100, 2 ) as `ratio`
FROM
?? ?(
?? ?SELECT
?? ??? ?*?
?? ?FROM
?? ??? ?( SELECT?
?? ??? ??? ??? ?ANY_VALUE ( `point_id` ) AS point_id,?
?? ??? ??? ??? ?ANY_VALUE ( `pname_cn` ) AS pname_cn, ?
?? ??? ??? ??? ?sum( `play` ) AS play_num ?
?? ??? ??? ?FROM?
?? ??? ??? ??? ?`dt_collect_antique` WHERE`add_time` BETWEEN '2020-07-02' AND '2020-07-05' ?GROUP BY `point_id` ?) t1
?? ??? ??? ?INNER JOIN?
?? ??? ??? ?( SELECT?
?? ??? ??? ??? ??? ?sum( `play` ) AS total?
?? ??? ??? ??? ?FROM?
?? ??? ??? ??? ??? ?`dt_collect_antique` WHERE`add_time` BETWEEN '2020-07-02' AND '2020-07-05'
?? ??? ??? ?) t2 ON 1 = 1?
?? ?) t
?? ??
ORDER BY
?? ?`play_num` DESC?
?? ?LIMIT 0, 10;

--查出符合條件并且分組, 統(tǒng)計(jì)出每組數(shù)量

SELECT?
?? ?ANY_VALUE ( `point_id` ) AS point_id,?
?? ?ANY_VALUE ( `pname_cn` ) AS pname_cn, ?
?? ?sum(`like`) as like_num
FROM?
?? ?`dt_collect_antique` WHERE`add_time` BETWEEN '2020-07-02' AND '2020-07-05' ?GROUP BY `point_id` ?) t1

--查出符合條件,總數(shù)量

(SELECT?
?? ?sum( `play` ) AS total?
FROM?
?? ?`dt_collect_antique` WHERE`add_time` BETWEEN '2020-07-02' AND '2020-07-05'
) t2

2、按年齡段分組,并求個(gè)年齡段占比

SELECT
? ? age_group,
? ? age_total,
? ? round( age_total / total * 100, 2 ) as `ratio`
FROM
?? ?(
? ??? ?SELECT
? ? ? ? *?
? ? FROM
? ? ?? ?( SELECT?
? ? ? ??? ??? ?SUM(total) AS age_total,
? ? ? ??? ??? ??? ?CASE
? ? ? ? ? ? ? ? ?? ?WHEN age >= 0 AND age < 18 THEN '18歲以下'
?? ? ? ? ? ? ? ? ? ?WHEN age >= 18 AND age <= 25 THEN '18歲到25歲'
?? ? ? ? ? ? ? ? ? ?WHEN age >= 26 AND age <= 35 THEN '26歲到35歲'
?? ? ? ? ? ? ? ? ? ?WHEN age >= 36 AND age <= 45 THEN '36歲到45歲'
?? ? ? ? ? ? ? ? ? ?WHEN age >= 46 AND age <= 60 THEN '46歲到60歲'
? ? ? ? ? ??? ??? ?ELSE '60歲以上' END
? ? ? ? ? ? ? ? AS age_group FROM dt_collect_age WHERE `add_time` BETWEEN ".$time[0]." AND ".$time[1]." GROUP BY age_group
? ? ?? ?) t1
? ? ? ? INNER JOIN?
? ? ? ? ?? ?( SELECT?
? ? ? ? ? ??? ??? ?SUM( `total` ) AS total?
? ? ? ? ? ??? ?FROM?
? ? ? ? ? ? ?? ?`dt_collect_age` WHERE `add_time` BETWEEN ".$time[0]." AND ".$time[1]."
? ? ? ? ? ? ) t2 ON 1 = 1?
? ??? ??? ?) t
? ? LIMIT 0, 6;

mysql求百分比的幾種方法

函數(shù)介紹

1、ROUND(X,D)和ROUND(X)

round函數(shù)用于數(shù)據(jù)的四舍五入,x指要處理的數(shù),d是指保留幾位小數(shù)

round(x)  ,其實(shí)就是 round(x,0)

d可以是負(fù)數(shù),代表指定小數(shù)點(diǎn)左邊的d位整數(shù)位為0,同時(shí)小數(shù)位均為0

2、FORMAT(X,D)

提供數(shù)據(jù)內(nèi)容格式化功能,可以格式化數(shù)據(jù)為整數(shù)或者浮點(diǎn)數(shù),能四舍五入

D為負(fù)數(shù)時(shí),按0處理

3、LEFT(str,len)

left函數(shù)是一個(gè)字符串函數(shù),它返回具有指定長(zhǎng)度的字符串的左邊部分,str為要處理的字符串,len為長(zhǎng)度

left函數(shù)為字符串截取,不能四舍五入

4、CONCAT(str1,str2,...)

concat函數(shù)用于將多個(gè)字符串連接成一個(gè)字符串

利用round,format,left與concat求百分比

注意:使用left按位截取百分比時(shí),位數(shù)要根據(jù)需要合理設(shè)置,否則容易出現(xiàn)意外BUG

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于C++實(shí)現(xiàn)Mysql數(shù)據(jù)庫(kù)連接池實(shí)例

    基于C++實(shí)現(xiàn)Mysql數(shù)據(jù)庫(kù)連接池實(shí)例

    數(shù)據(jù)庫(kù)連接池負(fù)責(zé)分配、管理、和釋放數(shù)據(jù)庫(kù)連接,允許使用應(yīng)用程序重復(fù)使用一個(gè)現(xiàn)有的數(shù)據(jù)庫(kù)連接。數(shù)據(jù)庫(kù)連接是關(guān)鍵有限且昂貴的資源,一個(gè)數(shù)據(jù)庫(kù)連接對(duì)象均對(duì)應(yīng)一個(gè)物理數(shù)據(jù)庫(kù)的連接,每次操作都打開(kāi)一個(gè)物理連接,使用完都關(guān)閉連接
    2022-12-12
  • MySQL5.6安裝步驟圖文詳解

    MySQL5.6安裝步驟圖文詳解

    這篇文章主要為大家詳細(xì)介紹了MySQL安裝步驟配置方法圖文,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 關(guān)于 MySQL 嵌套子查詢中無(wú)法關(guān)聯(lián)主表字段問(wèn)題的解決方法

    關(guān)于 MySQL 嵌套子查詢中無(wú)法關(guān)聯(lián)主表字段問(wèn)題的解決方法

    這篇文章主要介紹了關(guān)于 MySQL 嵌套子查詢中,無(wú)法關(guān)聯(lián)主表字段問(wèn)題的折中解決方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • MySQL學(xué)習(xí)第二天 安裝和配置mysql winx64

    MySQL學(xué)習(xí)第二天 安裝和配置mysql winx64

    MySQL學(xué)習(xí)第二天,主要為大家詳細(xì)介紹了在Windows 64位操作系統(tǒng)下安裝和配置MySQL的具體步驟,整理一份mysql winx64安裝配置方法教程,感興趣的小伙伴們可以參考一下
    2016-05-05
  • 詳解監(jiān)聽(tīng)MySQL的binlog日志工具分析:Canal

    詳解監(jiān)聽(tīng)MySQL的binlog日志工具分析:Canal

    Canal主要用途是基于MySQL數(shù)據(jù)庫(kù)增量日志解析,提供增量數(shù)據(jù)訂閱和消費(fèi),目前主要支持MySQL。接下來(lái)通過(guò)本文給大家介紹監(jiān)聽(tīng)MySQL的binlog日志工具分析:Canal的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2020-10-10
  • MySQL如何從5.5升級(jí)到8.0(使用命令行升級(jí))

    MySQL如何從5.5升級(jí)到8.0(使用命令行升級(jí))

    最近為了解決mysql低版本的漏洞,這篇文章主要給大家介紹了關(guān)于MySQL如何從5.5升級(jí)到8.0的相關(guān)資料,主要使用的命令行升級(jí),文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • memcached的學(xué)習(xí)過(guò)程

    memcached的學(xué)習(xí)過(guò)程

    本篇文章是對(duì)筆者學(xué)習(xí)memcached的經(jīng)歷進(jìn)行了介紹,需要的朋友參考下
    2013-06-06
  • 解決MySQL?Varchar?類型尾部空格的問(wèn)題

    解決MySQL?Varchar?類型尾部空格的問(wèn)題

    這篇文章主要介紹了MySQL?Varchar?類型尾部空格,在這里需要注意的是?binary?排序規(guī)則的?pad?屬性為?NO?PAD,這里其實(shí)不是個(gè)例外,因?yàn)?char、varchar?和?text?類型都?xì)w類為?nonbinary,感興趣的朋友跟隨小編一起學(xué)習(xí)下吧
    2022-04-04
  • 詳解MySQL中的數(shù)據(jù)類型和schema優(yōu)化

    詳解MySQL中的數(shù)據(jù)類型和schema優(yōu)化

    這篇文章主要介紹了MySQL中的數(shù)據(jù)類型和schema優(yōu)化的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)MySQL的知識(shí),感興趣的朋友可以了解下
    2020-10-10
  • MySQL的23個(gè)需要注意的地方

    MySQL的23個(gè)需要注意的地方

    本文將為大家介紹的是MySQL數(shù)據(jù)庫(kù)的23個(gè)特別注意事項(xiàng),希望各位DBA能從中得到一些啟發(fā)。
    2010-08-08

最新評(píng)論