创建具有6列唯一列中的4列的表

时间:2012-11-15 20:37:40

标签: sql join

我有一个用存储过程创建的原始表。结果表用于许多查询,所以我真的不想重新发明轮子。

表格中有六列。我需要做的是创建一个这个表的视图,其中4列作为一个集是唯一的,其余列之一根据该集找到最大值。

例如:

col 1     col2     col3      col4     col 5     col 6
------------------------------------------------------
123       US       EA.COM    Good     5/1/12    456A
124       US       US.COM    Good     5/1/12    457A
124       US       EA.COM    Good     5/1/12    457A
124       US       EA.COM    Good     5/15/12   457A

有了这个设置,我会得到3行

col 1     col2     col3      col4     col 5     col 6
------------------------------------------------------
123       US       EA.COM    Good     5/1/12    456A
124       US       US.COM    Good     5/1/12    457A
124       US       EA.COM    Good     5/15/12   457A

我想要的是一组独特的cols 1-4和col5的最大值,然后col 6相当于cols 1-5的集合。我希望这是有道理的。在这个SQL级别我不在我的舒适区。

我已尝试使用临时表并根据第1-4列中的不同值进行连接,但尚未提供正确的语法。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

如果我正确理解了这个问题,那么您正在寻找GROUP BY

SELECT col1, col2, col3, col4, max(col5), col6
FROM yourtable
GROUP BY col1, col2, col3, col4, col6