萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

SQL GROUP BY 分組聚合語法與實戰範例

基本語法

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE condition
GROUP BY column_name

範例一:遊戲統計資料彙總

原始資料:

gameidbesttopspam
111111
121110
123011
111101

查詢:

SELECT gameid,
       SUM(best) AS bestcnt,
       SUM(top) AS topcnt,
       SUM(spam) AS spamcnt
FROM table
GROUP BY gameid

結果:

gameidbestcnttopcntspamcnt
111212
121110
123011

PHP 中使用範例

$sql = "SELECT gameid,
               SUM(best) AS best,
               SUM(top) AS top,
               SUM(spam) AS spam
        FROM tablename
        GROUP BY gameid
        ORDER BY gameid ASC";

範例二:勝負統計

使用 DECODE(Oracle)或 CASE WHEN(通用)將勝負轉為數值後加總:

SELECT 日期,
       SUM(CASE WHEN 勝負='勝' THEN 1 ELSE 0 END) AS 勝,
       SUM(CASE WHEN 勝負='負' THEN 1 ELSE 0 END) AS 負
FROM 數據庫表
GROUP BY 日期
copyright © 萬盛學電腦網 all rights reserved