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

利用MySQL統(tǒng)計(jì)一列中不同值的數(shù)量方法示例

 更新時(shí)間:2017年04月28日 14:16:14   作者:huanxi  
這篇文章主要給大家介紹了利用MySQL統(tǒng)計(jì)一列中不同值的數(shù)量的幾種解決方法,每種方法都給了詳細(xì)的示例代碼供大家參考學(xué)習(xí),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面跟隨小編一起來看看吧。

前言

本文實(shí)現(xiàn)的這個(gè)需求其實(shí)十分普遍,舉例來說,我們存在一個(gè)用戶來源表,用來標(biāo)記用戶從哪個(gè)渠道注冊(cè)進(jìn)來。表結(jié)構(gòu)如下所示…

其中 origin 是用戶來源,其中的值有 iPhone 、Android 、Web 三種,現(xiàn)在需要分別統(tǒng)計(jì)由這三種渠道注冊(cè)的用戶數(shù)量。

解決方案1

SELECT count(*)
FROM user_operation_log
WHERE origin = 'iPhone';
SELECT count(*)
FROM user_operation_log
WHERE origin = 'Android';
SELECT count(*)
FROM user_operation_log
WHERE origin = 'Web';

用 where 語句分別統(tǒng)計(jì)各自的數(shù)量。

這樣查詢的量有點(diǎn)多了,如果這個(gè)值有 10 個(gè)呢,那還得寫 10 條相似的語句,很麻煩。

有沒有一條語句就搞定的呢?于是去查了些資料。

解決方案2

我們知道 count 不僅可以用來統(tǒng)計(jì)行數(shù),也能統(tǒng)計(jì)列值的數(shù)量,例如:

統(tǒng)計(jì) user_operation_log 有多少行:

SELECT count(*) FROM user_operation_log

統(tǒng)計(jì) origin 這列值不為 NULL 的數(shù)量:

SELECT count(origin) FROM user_operation_log

所以我們可以利用這個(gè)特性來實(shí)現(xiàn)上面的需求

第一種寫法(用 count 實(shí)現(xiàn))

SELECT
 count(origin = 'iPhone' OR NULL) AS iPhone,
 count(origin = 'Android' OR NULL) AS Android,
 count(origin = 'Web' OR NULL)  AS Web
FROM user_operation_log;

查詢結(jié)果

第二種寫法(用 sum 實(shí)現(xiàn))

SELECT
 sum(if(origin = 'iPhone', 1, 0)) AS iPhone,
 sum(if(origin = 'Android', 1, 0)) AS Android,
 sum(if(origin = 'Web', 1, 0))  AS Web
FROM user_operation_log;

查詢結(jié)果

第三種寫法(改寫 sum)

SELECT
 sum(origin = 'iPhone') AS iPhone,
 sum(origin = 'Android') AS Android,
 sum(origin = 'Web')  AS Web
FROM user_operation_log;

查詢結(jié)果

第四種寫法(來自掘金用戶 杰夫 的答案)

SELECT origin,count(*) num FROM user_operation_log GROUP BY origin;

查詢結(jié)果


至此,已經(jīng)達(dá)到了我們的需求。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • 在MySQLDump中使用-w語句進(jìn)行備份的方法

    在MySQLDump中使用-w語句進(jìn)行備份的方法

    這篇文章主要介紹了在MySQLDump中使用-w語句進(jìn)行備份的方法,MySQLDump是一款很有人氣的MySQL數(shù)據(jù)轉(zhuǎn)存工具,需要的朋友可以參考下
    2015-05-05
  • MySQL快速插入大量數(shù)據(jù)的解決方案和代碼示例

    MySQL快速插入大量數(shù)據(jù)的解決方案和代碼示例

    在這篇博客中,我們將深入探討如何高效插入大量數(shù)據(jù)到MySQL數(shù)據(jù)庫,無論你是數(shù)據(jù)庫新手還是經(jīng)驗(yàn)豐富的開發(fā)者,這篇文章都將為你提供實(shí)用的解決方案和代碼示例,幫助你解決插入3萬條數(shù)據(jù)需要20多秒的問題,需要的朋友可以參考下
    2024-08-08
  • 在MySQL中使用Sphinx實(shí)現(xiàn)多線程搜索的方法

    在MySQL中使用Sphinx實(shí)現(xiàn)多線程搜索的方法

    這篇文章主要介紹了在MySQL中使用Sphinx實(shí)現(xiàn)多線程搜索的方法,修改Sphinx的搜索引擎配置即可,需要的朋友可以參考下
    2015-06-06
  • MySQL使用ReplicationConnection導(dǎo)致連接失效解決

    MySQL使用ReplicationConnection導(dǎo)致連接失效解決

    這篇文章主要為大家介紹了MySQL使用ReplicationConnection導(dǎo)致連接失效問題分析解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • MySQL日期函數(shù)與日期轉(zhuǎn)換格式化函數(shù)大全

    MySQL日期函數(shù)與日期轉(zhuǎn)換格式化函數(shù)大全

    Mysql作為一款開元的免費(fèi)關(guān)系型數(shù)據(jù)庫,用戶基礎(chǔ)非常龐大,本文列出了MYSQL常用日期函數(shù)與日期轉(zhuǎn)換格式化函數(shù)
    2018-03-03
  • SQL基礎(chǔ)的查詢語句

    SQL基礎(chǔ)的查詢語句

    這篇文章主要給大家分享的是SQL基礎(chǔ)的查詢語句,SQL語句中,查詢是使用最多的操作,SQL不僅能夠查詢表中的數(shù)據(jù),還可以返回算術(shù)運(yùn)算、表達(dá)式的結(jié)果等,接下來就一起了解一下基本的查詢語句,需要的朋友可以參考一下
    2021-11-11
  • MySQL空間函數(shù)ST_Distance_Sphere()的使用方式

    MySQL空間函數(shù)ST_Distance_Sphere()的使用方式

    這篇文章主要介紹了MySQL空間函數(shù)ST_Distance_Sphere()的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 詳解如何在SpringBoot中配置MySQL數(shù)據(jù)庫的連接數(shù)

    詳解如何在SpringBoot中配置MySQL數(shù)據(jù)庫的連接數(shù)

    在Spring Boot中配置MySQL數(shù)據(jù)庫連接數(shù)通常涉及到兩個(gè)主要的配置,數(shù)據(jù)源配置和連接池配置,本文給大家介紹了Spring Boot項(xiàng)目如何配置MySQL數(shù)據(jù)庫連接數(shù)的詳細(xì)步驟,并通過代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • MySQL外鍵約束的刪除和更新總結(jié)

    MySQL外鍵約束的刪除和更新總結(jié)

    這篇文章主要給大家總結(jié)MySQL外鍵約束的刪除和更新,文中通過代碼示例和圖文介紹的非常詳細(xì),對(duì)大家了解MySQL外鍵約束有一定的幫助,需要的朋友可以參考下
    2024-02-02
  • 詳解mysql數(shù)據(jù)去重的三種方式

    詳解mysql數(shù)據(jù)去重的三種方式

    本文主要介紹了mysql數(shù)據(jù)去重的三種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06

最新評(píng)論