MySQL语法为每个组获取第一个记录

时间:2016-01-07 22:36:15

标签: mysql sql

拥有ID(PK),电子邮件,时间戳的表格。每封电子邮件的许多记录。希望能够为每封电子邮件提取每天(基于时间戳)的第一个时间顺序记录。 ID可能是也可能不是按时间顺序排列,因此不能依赖它。在语法上放置一个大脑放屁...记录集应该包括每天每封电子邮件的1条记录。

提前致谢。

1 个答案:

答案 0 :(得分:2)

在MySql中,这应该有效:

select tmp.id, tmp.email, tmp.date_val, min(tmp.timestamp) from (
    select 
        id, 
        email, 
        timestamp, 
        date_format(from_unixtime(timestamp), '%e %b %Y') as date_val
    from email_table
) as tmp  
group by tmp.email, tmp.date_val