婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 利用MySQL統計一列中不同值的數量方法示例

利用MySQL統計一列中不同值的數量方法示例

熱門標簽:長安區違法建房地圖標注 南宋地圖標注黃河華山 昆明智能外呼系統中心 地圖標注培訓 電銷機器人說明書 手機用地圖標注工具 智能電銷機器人靠譜么 電銷機器人公眾號推送 安國在哪里辦理400電話

前言

本文實現的這個需求其實十分普遍,舉例來說,我們存在一個用戶來源表,用來標記用戶從哪個渠道注冊進來。表結構如下所示…

其中 origin 是用戶來源,其中的值有 iPhone 、Android 、Web 三種,現在需要分別統計由這三種渠道注冊的用戶數量。

解決方案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 語句分別統計各自的數量。

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

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

解決方案2

我們知道 count 不僅可以用來統計行數,也能統計列值的數量,例如:

統計 user_operation_log 有多少行:

SELECT count(*) FROM user_operation_log

統計 origin 這列值不為 NULL 的數量:

SELECT count(origin) FROM user_operation_log

所以我們可以利用這個特性來實現上面的需求

第一種寫法(用 count 實現)

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;

查詢結果

第二種寫法(用 sum 實現)

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;

查詢結果

第三種寫法(改寫 sum)

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

查詢結果

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

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

查詢結果


至此,已經達到了我們的需求。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • mysql 行轉列和列轉行實例詳解
  • MYSQL數據庫中的現有表增加新字段(列)
  • mysql簡單實現查詢結果添加序列號的方法
  • 如何使用MySQL查詢某個列中相同值的數量統計
  • Mysql中返回一個數據庫的所有表名,列名數據類型備注
  • MySQL 添加、修改、刪除表的列及約束等表的定義
  • 數據庫實現行列轉換(mysql示例)
  • MySQL存儲過程中使用動態行轉列
  • mysql 列轉行,合并字段的方法(必看)
  • mysql 將列值轉變為列的方法
  • mysql5.7 生成列 generated column用法實例分析

標簽:江門 武漢 南昌 長沙 東莞 合肥 吉安 潛江

巨人網絡通訊聲明:本文標題《利用MySQL統計一列中不同值的數量方法示例》,本文關鍵詞  利用,MySQL,統計,一,列中,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《利用MySQL統計一列中不同值的數量方法示例》相關的同類信息!
  • 本頁收集關于利用MySQL統計一列中不同值的數量方法示例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 甘肃省| 泰兴市| 宁强县| 额尔古纳市| 静宁县| 伊吾县| 瑞丽市| 松阳县| 内江市| 环江| 新化县| 清徐县| 城口县| 望奎县| 泽普县| 玛沁县| 望城县| 景谷| 清丰县| 汨罗市| 自治县| 东辽县| 万山特区| 太和县| 富民县| 方正县| 和平区| 息烽县| 安国市| 长海县| 保山市| 施甸县| 台南市| 武冈市| 汉阴县| 阳东县| 宜兰县| 灵川县| 鄂尔多斯市| 固始县| 秦皇岛市|