问题描述
我在sql表中有5列,我需要全部5列,但要对3列进行不同的操作
I have 5 columns in sql table and I need all the 5 columns as out put but with distinct operation on three columns
需要返回对三列进行不同操作的所有列
Need to return all the columns with distinct operation on three column
如何实现?
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
在这里,我通过使用以下查询在三列上应用了distinct,从而获得了上表的所有distinct结果.但是我需要区分这三列,还需要选择上下文列而不在上下文列上应用Distict
Here I am getting all the distinct result for above table by applying distinct on three columns using below query. But I need the distinct of these three columns also need to select context column without applying distict on Context column
重述我的问题:
我需要从上表中选择唯一的列.在这里,只有unquie列选择被视为Timestamp,Name,State
I need to select unique columns from above table . Here only unquie column selection considered as Timestamp,Name,State
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
推荐答案
可以分组为3,但必须对其他两个使用诸如min或max之类的聚合函数
Can group by 3 but must use some type of aggregate function like min or max on the other two
select col1, col2, col3, max(col4), min(col5)
from tbl
group by col1, col2, col3
这篇关于返回SQL表中多个列上具有不同的所有列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!