MySQL计数结果在MAX时间戳之后

时间:2016-01-06 18:41:13

标签: mysql group-by max

我有两张桌子

MTS

  • ID
  • CUSTOMER_ID
  • created_at

MOS

  • ID
  • CUSTOMER_ID
  • created_at

我想在mts中输入最后一次并在MAX(mts.created_at)之后计算mos的结果。所有都应该是GROUP BY customer_id。

我有一个像这样的简单查询的想法,但这不会起作用。

SELECT id, created_at, COUNT(id) 
FROM mos
WHERE created_at > (SELECT MAX(created_at) FROM mts) 
GROUP BY customer_id 
LIMIT 10

1 个答案:

答案 0 :(得分:0)

这个SQL语句只会在结果集中为您提供1行(无论如何)。不属于聚合函数的所有内容都应包含在GROUP BY

您的SQL语句应如下所示:

SELECT id, created_at, COUNT(id) 
FROM mos
WHERE created_at > (SELECT MAX(created_at) FROM mts) 
GROUP BY customer_id, id, created_at
LIMIT 10