【发布时间】:2017-06-23 20:47:20
【问题描述】:
您好,我有一张表格,上面有电影名称、上映日期、成本和收入。我正在尝试编写一个查询来显示每月发行了多少部电影
CREATE TABLE movies_200249154(
movieName VARCHAR(30),
releaseDate DATE,
costInMillions INT (20),
revenueInMillions INT (20)
);
上面是我的桌子
这是我当前的查询
SELECT DISTINCTROW (monthname(releaseDate)) AS 'Month released', COUNT(*)movieName
FROM movies_200249154
GROUP BY movieName;
现在我的查询将显示月份和电影的计数(始终为 1)并显示重复。如果我使用 SELECT DISTINCT 它每月只显示 1 部电影。似乎忘记了其他数据。
我的查询需要显示月份和该月发行的电影数量。例如,它当前重复 June 4 次,计数为 1。我需要的查询将显示 June,计数为 4。
非常感谢任何帮助
【问题讨论】:
-
MySQL SQL-Server 是哪个?并且根据解决方案...您按电影名称分组,因此每部电影的信息都将位于单独的行中。自从您每月计算电影以来,您需要按月分组。此外,在这种情况下执行 group by 时,您不需要 distinct。仅当您需要真正消除的结果集中有重复数据时,才应使用 IMO distinct;否则,当使用聚合时,您只需要一个分组依据。
标签: mysql sql-server select