【发布时间】:2016-11-27 08:30:47
【问题描述】:
我有 2 个表:table1 和 table2,两个表的结构都为 ; id - day - uniques - pageviews。我想创建一个包含uniques 格式的附加字段,例如2387|1283,同时总结给定日期的uniques 和pageviews。我有:
SELECT id,
day,
Sum(uniques) AS uniques,
Sum(pageviews) AS pageviews
FROM (SELECT *
FROM table1
WHERE ` day ` >= '2016-07-21'
AND ` day ` <= '2016-07-22'
UNION
SELECT *
FROM table2
WHERE ` day ` >= '2016-07-21'
AND ` day ` <= '2016-07-22') t1
GROUP BY ` day `
ORDER BY ` day ` ASC
但是,这仅将 2 个表格中给定天数的 uniques 和 pageviews 相加,但我还需要知道确切的值。假设我们在 table1 中有 5 个,在 table2 中有 3 个。此查询返回一个值为 8 的“唯一”字段。我还需要分别获取值 5 和 3
任何帮助都会节省大量宝贵的时间;)
谢谢
【问题讨论】:
-
您的查询是正确的,您所描述的响应是正确的。目前还不清楚您需要什么。
-
我写的查询总结了 2 个表中的“唯一”字段,但我还需要知道确切的值。假设我们在表 1 中有 5 个,在表 2 中有 3 个。此查询返回一个值为 8 的“唯一”字段。我还需要分别获取值 5 和 3
-
您的查询要求一个总和。也许你可以做一个 group_concat (dev.mysql.com/doc/refman/5.7/en/…) 这样列返回由分隔符分隔的各个值。
标签: mysql sql select group-by group-concat