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 次 |
| 最近记录: |