【发布时间】:2013-07-22 17:12:25
【问题描述】:
以下数据库结果/表是通过使用下面的 SQL 查询将 2 个表连接在一起而创建的。我还想做的是显示第三列,它计算某个值包含在 main_category 列中的次数。在底部的表格中可以看到所需结果的示例,其中第三列显示“主要类别 1”出现的次数 - 在本例中为 8 次,“主要类别 2”出现 6 次。有谁知道我需要对现有查询做什么才能做到这一点?是否涉及GROUP BY和COUNT?
SELECT headings.heading AS sub_category,
primary_category AS main_category
FROM TABLE1 INNER JOIN headings ON TABLE1.Heading=TABLE2.heading
UNION
SELECT TABLE2.heading AS heading,
secondary_category AS main_category
FROM TABLE1 INNER JOIN TABLE2 ON TABLE1.Heading=TABLE2.heading
ORDER BY main_category ASC
+--------------+------------------+--------+
|子类别 | main_category |计数 |
+--------------+------------------+--------+
|子类别A |主要类别 1 | 8 |
|子类别B |主要类别 1 | 8 |
|子类别C |主要类别 1 | 8 |
|子类别D |主要类别 1 | 8 |
|子类别E |主要类别 1 | 8 |
|子类别F |主要类别 1 | 8 |
|子类别G |主要类别 1 | 8 |
|子类别H |主要类别 1 | 8 |
|子类I |主要类别 2 | 6 |
|子类别J |主要类别 2 | 6 |
|子类别K |主要类别 2 | 6 |
|子类别L |主要类别 2 | 6 |
|子类别M |主要类别 2 | 6 |
|子类别N |主要类别 2 | 6 |
+--------------+------------------+--------+
【问题讨论】: