Re: [SQL ] Group by 完只有某些值相加的方法
https://imgur.com/a/6TEnMEw
-- 測資
;with tb1 as (
select *
from (
values
('A','Jordan'),('A','guest'),('A','guest'),
('B','Jordan'),('B','Kobe'), ('B','James'),('B','guest')
)t(FuncName,UserName)
)
-- 結果
select FuncName,
非會員 = count(case when UserName = 'guest'then 1 end),
會員 = count(case when UserName != 'guest'then 1 end)
from tb1
group by FuncName
※ 引述《paul09253336 (paulma)》之銘言:
: (針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行)
: 資料庫名稱:MYSQL
: 資料庫版本:2014
: 內容/問題描述:
: 大家好,我現在有一張表會記錄不同function被呼叫的次數、呼叫的時間、function名稱
: ,同時有個欄位(UserName)會記錄他是不是會員,如果不是會記成“guest”,是的話
: 則會記錄他的帳號
: ,現在想要去計算出每個月不同function的使用次數,並列出非會員及會員的使用次數
: 我現在用
: group by “function name”,“date”後,在某個group中UserName會有“guest”跟不
: 同的帳號的情況
: 想請問各位高手,我要怎麼去把guest跟不同帳號分開去做加總,同時select出來
: 結果的欄位大概長這樣
: funcName,Count-非會員,Count-會員,
: 我試過在group條件加上UserName,但這樣會讓會員跟非會員的結果分開成兩列,這不是我
: 想要的結果,現在需要的是在同一列上同時有非會員,會員,的結果
: 請各位高手能指點方向,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.252.147.55 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1576584414.A.A10.html
※ 編輯: cutekid (111.252.147.55 臺灣), 12/17/2019 20:08:49
推
12/17 20:12,
5年前
, 1F
12/17 20:12, 1F
→
12/17 20:12,
5年前
, 2F
12/17 20:12, 2F
討論串 (同標題文章)
Database 近期熱門文章
PTT數位生活區 即時熱門文章