将多列的出现次数计为总数

时间:2013-02-09 16:05:14

标签: sql

首先发布在这里......:)

我拥有的是:

  • 客户/模型

    • A / 1
    • A / 1
    • B / 1
    • B / 1
    • C / 2
    • D / 1

我需要展示的是:

  • 型号/总计

  • 1/3

  • 2/1

我的代码是:

SELECT  Client, Model, COUNT(Model) Total
FROM    Table
GROUP BY Client, Model

但所有这一切都会返回两列的每次出现。有人可以帮忙吗?

提前谢谢。

3 个答案:

答案 0 :(得分:5)

计算每个模型的不同客户端数量:

SELECT  Model
,       COUNT(distinct Client) Total
FROM    Table
GROUP BY 
        Model

Live example at SQL Fiddle.

答案 1 :(得分:1)

这是由集团中的客户所致。从查询中排除客户端。试试这个:

SELECT Model, COUNT(Model) Total
FROM Table
GROUP BY MODEL

答案 2 :(得分:1)

看起来你想要每个型号的“客户”数量;所以试试这个:

select model
     , count(distinct client) as Total
from   table
group by model