簡體   English   中英

mysql在同一個字段中的多個計數和組值

[英]mysql multiple count and group values in a same field

我環顧四周但找不到答案我需要一個查詢,根據同一字段中的值返回2組值作為字段名稱

例子我有一張桌子

NAME, VALUE
name1, 2
name1, 2
name1, 3
name1, 4
name2, 2
name2, 2
name2, 3
name2, 4

現在我想在一個組中對值2和3進行計數和分組,在另一個組中對值4進行分組,因此我的結果看起來像這樣

NAME, GRP1_COUNT, GRP2_COUNT
name1, 3, 1
name2, 3, 1

我嘗試了JOINUNION沒有太多運氣任何幫助贊賞

MySQL沒有pivot函數,因此您必須使用帶有CASE表達式的聚合函數來轉換數據。 對於此類計算,您將使用COUNTSUM

select name,
  sum(case when value in (2,3) then 1 else 0 end) GRP1_COUNT,
  sum(case when value = 4 then 1 else 0 end) GRP2_COUNT
from yourtable
group by name

請參閱SQL Fiddle with Demo

COUNT版本:

select name,
  count(case when value in (2,3) then VALUE end) GRP1_COUNT,
  count(case when value = 4 then VALUE end) GRP2_COUNT
from yourtable
group by name

請參閱SQL Fiddle with Demo

試試這個

SELECT
name,
sum(case when value=2 or value=3 then 1 else 0 end),
sum(case when value=4 then 1 else 0 end)
FROM YourTable
GROUP BY name

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM