Re: [SQL ] 資料統計問題
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
→
01/20 22:12,
6年前
, 1F
01/20 22:12, 1F
→
01/20 22:15,
6年前
, 2F
01/20 22:15, 2F
不知道 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
→
01/22 19:47,
6年前
, 3F
01/22 19:47, 3F
→
01/22 19:47,
6年前
, 4F
01/22 19:47, 4F
→
01/22 19:48,
6年前
, 5F
01/22 19:48, 5F
→
01/22 19:50,
6年前
, 6F
01/22 19:50, 6F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章