SQL帮助 - 根据值比较表中的值

时间:2016-03-16 14:36:47

标签: mysql sql

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数据

1 个答案:

答案 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`

然后在新创建的合并表上执行相同的聚合查询。