【问题标题】:How to get a specific list of entries per date from a table in MySQL?如何从 MySQL 中的表中获取每个日期的特定条目列表?
【发布时间】:2015-03-29 10:40:12
【问题描述】:

我创建了一个名为 movies_200186807 的数据库,我需要列出每个月列出的电影的所有月份。

这是我的数据库

CREATE DATABASE movies_200186807;
USE movies_200186807;

CREATE TABLE movies_200186807 (
    movie_name   VARCHAR(50) NOT NULL PRIMARY KEY,
    release_date DATE NOT NULL,
    cost         DEC(4) NOT NULL,
    revenue      DEC(4) NOT NULL
);

INSERT INTO movies_200186807 (movie_name, release_date, cost, revenue)
VALUES
    ('Toy Story', '1995-11-22',30 , 364),
    ('Toy Story 2', '1999-11-24',90 , 511),
    ('Toy Story 3', '2010-06-18', 200, 1070),
    ('A Bugs Life', '1998-11-25', 60, 363),
    ('Monsters Inc', ' 2001-11-02', 115, 560),
    ('Finding Nemo', '2003-05-30', 94, 906),
    ('The Incredibles', '2005-11-04', 92, 615),
    ('Cars', '2006-06-09', 120, 462),
    ('Cars 2', '2011-06-24', 200, 560),
    ('Ratatouille', '2007-06-29', 150, 626),
    ('Wall-E', '2008-06-27', 180, 533),
    ('Up', '2009-05-29', 175, 731),
    ('Brave', '2012-06-22', 185, 555),
    ('Monster University', '2013-06-21', 200, 744),
    ('Planes', '2013-08-09', 50, 220);

-- 5) 列出所有电影上映的月份:月份 & Number_Of_Movies 在那个月。例如)11 月 = 那个月 5 部电影

我做了这个查询,它不输出每个月的电影数量,它输出每部电影和上映日期

SELECT DAY(release_date), MONTHNAME(release_date)
FROM movies_200186807;

任何建议,

【问题讨论】:

  • 你有什么问题?
  • 你研究过COUNT(*)GROUP BY等聚合查询函数吗?

标签: mysql sql database mysql-workbench


【解决方案1】:

假设 release_date 被存储为日期,尝试:

select monthname(release_date), count(*) as cnt from movies
group by month(release_date)

【讨论】:

    【解决方案2】:

    选择monthname(release_date), count(*) as num_of_movies 来自电影_200186807 按月分组(发布日期);

    这是答案,谢谢你的帮助

    我将 cnt 更改为 num_of_movies 并将月份更改为 monthname 以获取月份的名称(7 月)而不是数字(07)。

    再次感谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-27
      • 2020-08-06
      • 1970-01-01
      • 2012-12-30
      • 1970-01-01
      • 2019-01-17
      • 2023-03-08
      • 1970-01-01
      相关资源
      最近更新 更多