我有两张 table
MTS
- ID
- customer_id
- 创建于
莫
- ID
- customer_id
- 创建于
我想获取mts中某个条目的最后一次时间,并统计MAX(mts.created_at)之后mos的结果。所有内容均应按 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
最佳答案
此 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
关于MySQL 计算 MAX 时间戳后的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34640377/