表 test(name, value) 需輸出每個姓名下各值的出現次數。標準 GROUP BY 即可。
name value
zhang A
zhang B
zhang A
... ...
name value num
zhang A 2
zhang B 1
... ... ...
SELECT t.name, t.value, COUNT(*) AS num
FROM test t
GROUP BY t.name, t.value
ORDER BY t.name, num DESC;
GROUP BY 多列:先按 name 分組,組內再按 value 細分。COUNT(*) 統計每組行數。ORDER BY 便於閱讀,非必需。一條標準 SQL 搞定分組統計,Oracle/MySQL/PostgreSQL/SQL Server 通用。