【问题标题】:MySQL query for selecting distinct field and then ordering by date用于选择不同字段然后按日期排序的 MySQL 查询
【发布时间】:2011-10-02 16:33:57
【问题描述】:

我想按日期对表格进行排序。我有多个同一个艺术家姓名的记录,但它们的日期不同

例如

ARTIST:DATE
Gerd:2011-09-28
Gerd:2011-09-01
Simon:2011-07-01
Simon:2011-10-02
Franco:2011-01-10
Franco:2011-09-15
Franco:2011-07-01
Des:2011-09-05

如何提取不同的用户名并显示他们创建记录的最近日期?我还想只显示超过 2 条记录的名称

所以在这种情况下,我想要的结果是

Simon:2011-10-02
Gerd:2011-09-28
Franco:2011-09-15

(我希望这些按日期顺序排序)

谢谢!

【问题讨论】:

    标签: mysql date select


    【解决方案1】:

    试试这个:

    SELECT Artist, MAX(Date) AS MaxDate
    FROM Artists
    GROUP BY Artist
    HAVING COUNT(Artist) > 2 
    ORDER BY MaxDate DESC
    

    您的问题明确指出“超过 2”,但您的示例数据说明 >= 2。无论如何,您可以根据需要调整 HAVING

    HAVING COUNT(Artist) >=2
    

    【讨论】:

    • 谢谢!抱歉,我错过了查询的一个重要部分 - 我还想只显示包含 2 条以上记录的名称。有任何想法吗? (经过编辑以反映这一点)
    • @Franco:是的,在编辑后的答案中使用HAVING。您说“超过 2”,但您的示例大于或等于 2。
    猜你喜欢
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多