【发布时间】:2018-03-26 06:07:52
【问题描述】:
我有一张表entries,其中包含以下列:id、email、sku、payment、created_at
我需要编写一些查询来对条目进行一些分析。我想将两个查询合并为一个:
SELECT sku, count(email) AS total_current FROM entries WHERE payment 不为空且 created_at >= DATE_SUB(NOW(), INTERVAL 1 WEEK) 组 按 sku 按 sku ASC 订购
和
SELECT sku, count(email) AS total_previous FROM entries WHERE payment IS NOT NULL AND created_at = DATE_SUB(NOW(), INTERVAL 2 WEEK) GROUP BY sku ORDER BY sku ASC
这里的目标是有 3 列的 1 组结果,在第 2 列显示每个 sku 在一个日期范围内的记录数,在第 3 列显示同一 sku 的记录数。
Sku(所有内容都分组)
total_current(每个单独 sku 的第一个查询日期范围内的记录计数)
total_previous(每个单独 sku 的第二个查询日期范围内的记录计数)
并且结果应该按sku升序排序。
我用 UNION 和 JOIN 等尝试了很多不同的东西,但到目前为止都没有运气。
【问题讨论】:
标签: mysql join sql-order-by union