Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL:聚合计数_Mysql_Sql_Select_Count_Aggregate - Fatal编程技术网

MySQL:聚合计数

MySQL:聚合计数,mysql,sql,select,count,aggregate,Mysql,Sql,Select,Count,Aggregate,我试图找出有多少公司在某一特定领域有销售业绩。我已经计算了销售条目的数量(5),但我似乎无法按产品类别进行汇总。请参见此简化: 目标是让“公司”显示3,因为有三家公司在A段有销售。您可以在计数功能中使用不同的修饰符来获得不同的条目的数量: SELECT COUNT(DISTINCT company) AS companies, -- Here -----^ CASE WHEN segment IN (10, 11, 12, 13, 14, 15, 16) THEN 'Prod

我试图找出有多少公司在某一特定领域有销售业绩。我已经计算了销售条目的数量(5),但我似乎无法按产品类别进行汇总。请参见此简化:


目标是让“公司”显示3,因为有三家公司在A段有销售。

您可以在
计数功能中使用
不同的
修饰符来获得不同的条目的数量:

SELECT COUNT(DISTINCT company) AS companies,
-- Here -----^
CASE 
    WHEN segment IN (10, 11, 12, 13, 14, 15, 16)
    THEN 'Product segment A'
    WHEN segment IN (20, 21, 22)
    THEN 'Product segment B'
    WHEN segment IN (30)
    THEN 'Product segment C'
    END AS grp, SUM(sales) AS sum_sales
FROM Table1
WHERE
       (company LIKE '%ACME%'
     OR company LIKE '%HAL%'
     OR company LIKE '%GEN%'
    )
AND
    segment IN (10, 11, 12, 13, 14, 15 ,16, 20, 21, 22, 30)
GROUP BY grp
ORDER BY grp
;

D'oh,当有人能够准确地回答它时,这似乎总是那么容易。太好了,谢谢!
SELECT COUNT(DISTINCT company) AS companies,
-- Here -----^
CASE 
    WHEN segment IN (10, 11, 12, 13, 14, 15, 16)
    THEN 'Product segment A'
    WHEN segment IN (20, 21, 22)
    THEN 'Product segment B'
    WHEN segment IN (30)
    THEN 'Product segment C'
    END AS grp, SUM(sales) AS sum_sales
FROM Table1
WHERE
       (company LIKE '%ACME%'
     OR company LIKE '%HAL%'
     OR company LIKE '%GEN%'
    )
AND
    segment IN (10, 11, 12, 13, 14, 15 ,16, 20, 21, 22, 30)
GROUP BY grp
ORDER BY grp
;