计算多个列

时间:2016-05-30 09:50:40

标签: php mysql

我想在Dx1, Dx2, Dx3中找到相同类别和组重复该类别名称的次数。

表类别:

ID Name
1   A
2   B

表Dx:

ID   Dx 1   Dx 2    Dx 3
1    1       1       1
2    1       1       2

结果查询:

Category_name Count_dx*
A               5
B               1

感谢。

1 个答案:

答案 0 :(得分:1)

虽然你的问题似乎含糊不清,但我给出了答案。

SELECT 
Categories.Name,
COUNT(*) AS Count_dx
FROM Categories
INNER JOIN 
(
    SELECT 
    Dx1 dx_val
    FROM Dx

    UNION ALL

    SELECT 
    Dx2 dx_val
    FROM Dx

    UNION ALL

    SELECT 
    Dx3 dx_val
    FROM Dx
) AS t
ON Categories.ID = t.dx_val
GROUP BY t.dx_val;

您可能希望Dx1, Dx2 and Dx3中的三列(Dx table)中的计数类别ID (针对每个类别)。如果是,则上述查询完成该任务。