加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql在同一个字段中的多个计数和组值

发布时间:2020-12-11 23:54:14 所属栏目:MySql教程 来源:网络整理
导读:我环顾四周但找不到答案 我需要一个查询,根据同一字段中的值返回2组值作为字段名称 例子我有一张桌子 NAME,VALUEname1,2name1,3name1,4name2,2name2,3name2,4 现在我想在一个组中对值2和3进行计数和分组,在另一个组中对值4进行分组,因此我的结果看起来像这样

我环顾四周但找不到答案
我需要一个查询,根据同一字段中的值返回2组值作为字段名称

例子我有一张桌子

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

现在我想在一个组中对值2和3进行计数和分组,在另一个组中对值4进行分组,因此我的结果看起来像这样

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

我没有太多运气就尝试了JOIN和UNION
任何帮助赞赏 最佳答案 MySQL没有pivot函数,因此您必须使用带有CASE表达式的聚合函数来转换数据.对于此类计算,您将使用COUNT或SUM:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读