usr*_*986 -4 sql sql-server select distinct
我在sql表中有5列,我需要所有5列作为输出但在三列上具有不同的操作
需要在三列上返回具有不同操作的所有列
如何实现这一目标?
Timestamp Name State Context
2013-06-24 11:51:03.2550000 tst1 Started E1
2013-06-24 11:56:03.2550000 tst1 Completed E1
2013-06-24 11:51:03.2550000 tst1 Started E1
2013-06-24 11:56:03.2550000 tst1 Completed E1
2013-06-24 11:45:03.2550000 tst1 Started E1
2013-06-24 11:50:03.2550000 tst1 Completed E1
2013-06-24 11:45:03.2550000 tst1 Started E1
2013-06-24 11:50:03.2550000 tst1 Completed E1
Run Code Online (Sandbox Code Playgroud)
在这里,我通过使用下面的查询在三列上应用distinct来获得上表的所有不同结果.但我需要这三个列的不同之处还需要选择上下文列而不在Context列上应用distict
SELECT DISTINCT时间戳,名称,状态FROM TableName group by Timestamp,Name,State
改述我的问题:
我需要从上表中选择唯一的列.这里只有unquie列选择被视为时间戳,名称,状态
Timestamp Name State Context
2013-06-24 11:51:03.2550000 tst1 Started E1
2013-06-24 11:56:03.2550000 tst1 Completed E1
2013-06-24 11:45:03.2550000 tst1 Started E1
2013-06-24 11:50:03.2550000 tst1 Completed E1
Run Code Online (Sandbox Code Playgroud)
可以按3分组,但必须使用某些类型的聚合函数,如min或max,另外两个
select col1, col2, col3, max(col4), min(col5)
from tbl
group by col1, col2, col3
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14791 次 |
最近记录: |