first_time
期望的输出:
tag | date | $
1 | 112014 | 1.42
2 | 112014 | 2.53
1 | 112015 | 1.42
现在我希望它显示如下内容:
col1 - tag
col2 - earliest date
col3 - later date
col4 - $
希望通过mysql中的查询来执行此操作
请帮忙!
此外,如果它可以检查两个表中的值 - 即检查tbl2对tbl1数据
答案 0 :(得分:0)
要实现这一点,您可以使用聚合函数,例如MAX(),MIN(),AVG(),SUM(),如果每个标记只需要一行,using grouping。
SELECT `col1` as `tag`, MIN(`col2`) as `earliest_date`, MAX(`col3`) as `latest_date`, AVG(`col4`) as `sum`
FROM `tbl1`
GROUP BY `col1`
如果您需要选择所有行以及您提供的sorted by columns,那么查询可能如下所示:
SELECT `col1` as `tag`, `col2`, `col3`, `col4` as `sum`
FROM `tbl1`
ORDER BY `col2` ASC, `col3` DESC
如果您只想从两个表中获得结果,可以使用UNION。
如果您需要将两个表中的数据视为一个表并对它们运行聚合,则应用概念聚合/汇总表,类似于:
CREATE TABLE `merged_tbl` AS SELECT * FROM `tbl1` UNION SELECT * FROM `tbl2`
然后在新创建的合并表上执行相同的聚合查询。