子查询中的MySQL引用行

时间:2011-07-01 22:33:11

标签: mysql sql

我正在尝试计算用户上传照片后发送的所有邮件。

我正在尝试这样的事情。

select messages.created_at, count(*) as count from messages 
      inner join users on messages.user_id = users.id
      inner join photos on photos.user_id = users.id
      where 
        some_users_messages.created_at > some_users_first_photo.created_at
      group by YEARWEEK(messages.created_at)

我认为这需要是一个子查询?我不确定如何在MySQL中对一个特定用户的消息/照片做这个概念。有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

这会计算每个用户第一张照片后发送的邮件数量:

select  messages.user_id
,       count(*) as count 
from    messages 
where   messages.created_at >
        (
        select  min(created_at)
        from    photos
        where   photos.user_id = messages.user_id
        )
group by 
        messages.user_id