我試圖讓選擇了在Postgres以下諮詢:與案件
Managers | Clerks | Presidents | Analysts | Salesmans
-------------+---------+--------------+ -----------+-------------
3 4 1 2 4
到目前爲止,我能做到:
select CASE WHEN lower(job)='salesman' THEN count(job) as "SALESMAN"
WHEN lower(job)='clerk' THEN count(job) as "CLERK"
WHEN lower(job)='manager' THEN count(job) as "MANAGER"
WHEN lower(job)='analyst' THEN count(job) as "ANALYST"
WHEN lower(job)='president' THEN count(job) as "PRESIDENT"
from emp
group by job;
但我似乎無法運行它,它出現錯誤:
ERROR: syntax error at or near "as"
LINE 1: ... CASE WHEN lower(job)='salesman' THEN count(job) as "SALESM...
如何在select中創建單獨的列?
你不能。你必須爲每一列單獨設置一個「select case」。或使用交叉表查詢http://stackoverflow.com/questions/3002499/postgresql-crosstab-query/11751905#11751905 – Lemjur