看板 Database 關於我們 聯絡資訊
with tb1 as ( select 系所,年級,班別, count(*) as 人數 from table group by 系所,年級,班別 ) select *, sum(人數) over (partition by 系所) as 同系人數 from tb1 ※ 引述《joedenkidd (優質的藍色射手)》之銘言: : 資料庫名稱:postgresql : 資料庫版本:8.4 : 內容/問題描述: : 小弟現在有個統計問體要詢問 : 資料如下 : 系所 年級 班别 學號 : A 1 A 12345 : B 2 C 12312 : A 1 A 12346 : A 1 B 12123 : select 系所,年級,班别,sum(1) as 人數from table group by 系所,年級,班别 : 可以統計出 各班人數 : 但問題來了 : 我希望同時能同計年級人數 : 系所 年級 班别 人數 (同系年級人數) : A 1 A 2 3 : B 2 C 1 1 : A 1 B 1 3 : 有辦法調整上述 sql語法達成嘛 : 請板上大大指點 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.223.59.22 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1516338257.A.926.html
joedenkidd: postgresql 看來是有with,不過執行這樣的語法,會 01/20 22:12
joedenkidd: 出現錯誤syntax error,感謝你,看來要找其它方式~~ 01/20 22:15
不知道 syntax error 錯在哪?? 不然 try try 以下: with tb1 as ( select 系所,年級,班別, count(*) as 人數 from table group by 系所,年級,班別 ), tb2 as ( select 系所,count(*) as 同系人數 from table group by 系所 ) select t1.*,t2.同系人數 from tb1 t1 inner join tb2 t2 on t1.系所 = t2.系所 ※ 編輯: cutekid (210.61.233.210), 01/22/2018 15:47:55
joedenkidd: 錯誤 syntax error at or near "WITH tb1" 01/22 19:47
joedenkidd: 請問tb1是虛擬表還是要建實體的呢?是不是沒建實體, 01/22 19:47
joedenkidd: 才錯? 01/22 19:48
joedenkidd: 目前處理方式是撈完資料,再用其他程式處理@@a 01/22 19:50