mrj*_*_05 4 mysql sql pivot group-by
假设我有下表:
1) tblScore
============================
Date VendorID Score
============================
12/09/01 12001 A
12/09/01 12001 A
12/09/01 12002 B
12/09/02 12003 C
12/09/02 12003 A
12/09/03 12001 C
============================
Run Code Online (Sandbox Code Playgroud)
我有这个问题:
SELECT ts.VendorID, ts.Score, COUNT(*)
FROM trxscore ts
GROUP BY ts.VendorID, ts.Score
ORDER BY ts.VendorID, ts.Score
Run Code Online (Sandbox Code Playgroud)
但是如何显示表格如下:
===========================
VendorID A B C
===========================
12001 2 0 1
12002 0 1 0
12003 1 0 1
===========================
Run Code Online (Sandbox Code Playgroud)
而且,是否可以从文本中获得平均值?即,VendorID 12001应该得到A的平均值.谢谢......
试试这个,
SELECT VendorID,
SUM(CASE WHEN Score = 'A' THEN 1 ELSE 0 END),
SUM(CASE WHEN Score = 'B' THEN 1 ELSE 0 END),
SUM(CASE WHEN Score = 'C' THEN 1 ELSE 0 END)
FROM tableName
GROUP BY VendorID
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
803 次 |
| 最近记录: |