我有一个用存储过程创建的原始表。结果表用于许多查询,所以我真的不想重新发明轮子。
表格中有六列。我需要做的是创建一个这个表的视图,其中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列中的不同值进行连接,但尚未提供正确的语法。
非常感谢任何帮助。
答案 0 :(得分:3)
如果我正确理解了这个问题,那么您正在寻找GROUP BY
:
SELECT col1, col2, col3, col4, max(col5), col6
FROM yourtable
GROUP BY col1, col2, col3, col4, col6