SQL COUNT返回使用特定属性的项的计数

时间:2011-02-07 22:39:26

标签: sql mysql count

我有3个MySQL表:

  • 颜色
    • id_color(1,2,3,4)
    • 标题('蓝色','红色','橙色','青色')
  • 主题
    • id_theme(1,2,3)
    • 标题('黑暗主题','轻主题','其他主题')
  • theme_color
    • id_theme
    • id_color

我需要打印所有主题使用的颜色列表。在同一记录集中。我需要知道每种颜色使用了多少主题。

最终结果应该是这样的:

color.id_color | color.title | COUNT(theme_color.id_theme)
==========================================================
1              | blue        | 2
2              | red         | 1
3              | orange      | 3

(青色= 4未链接到theme_color中的任何主题)。我一直在尝试使用COUNT()的几种方法,但我只得到一个记录字段,其中包含所有使用主题的SUM。

1 个答案:

答案 0 :(得分:4)

SELECT color.id_color, color.title, COUNT(theme_color.id_theme)
  FROM color INNER JOIN theme_color ON color.id_color = theme_color.id_color
GROUP BY color.id_color, color.title