使用两个表计算下载次数

时间:2014-03-05 18:11:30

标签: mysql sql

我有两张桌子,想知道某个名字有多少下载。这是我的表格

表“名称”

ID | name
==========
 1 | foo
 2 | bar
 3 | zoo
 4 | luu

表“下载”

ID | name_id | timestamp
=========================
 1 | 1       | 1394041682
 2 | 4       | 1394041356
 3 | 1       | 1394041573
 4 | 3       | 1394041981
 5 | 1       | 1394041683

结果应该是:

ID | name | downloads
=====================
 1 | foo  | 3
 2 | bar  | 0
 3 | zoo  | 1
 4 | luu  | 1

这应该很容易......

1 个答案:

答案 0 :(得分:1)

这很容易。 只有JOIN个表和COUNT行。不要忘记GROUP BYCOUNT(timestamp),这样如果没有任何

你就可以获得零
  SELECT n.ID,
         n.name,
         COUNT(timestamp) as downloads
    FROM names n 
         LEFT JOIN downloads d 
              ON d.name_id = n.id
GROUP BY n.ID,
         n.name
ORDER BY n.ID;

SQL Fiddle