繁体   English   中英

从一组相似的行中选择每个分钟(日期)?

[英]Select every min(Date) from group of similar rows?

这是表Posts结构(还有其他对问题不重要的列):

Verb | Object | Date

我先按动词再按对象分组,以将所有相似的行分组,这是我当前的查询:

SELECT * FROM Posts GROUP BY Verb, Object

我需要知道每个组中最早的行的日期。 如何才能做到这一点?

怎么样

SELECT  Verb, 
        Object, 
        MIN(date) OldestDate
FROM    Posts
GROUP BY    Verb, Object

看看GROUP BY(聚合)函数

要获取每个组中最早的日期,请尝试以下操作:

SELECT Verb, Object, MIN(`date`) AS min_date
FROM Posts
GROUP BY Verb, Object;

如果要获取每个组中日期最早的记录,请尝试以下操作:

然后重启MySQL服务器。

SELECT a.*
FROM Posts a
     INNER JOIN (SELECT Verb, Object, MIN(`Date`) AS `Date`
                 FROM Posts
                 GROUP BY Verb, Object
                ) b
                ON a.Verb =  b.Verb
                   AND a.Object = b.Object
                   AND a.`Date` = b.`Date`;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM