2013-08-29 21 views
0

我有表:表1是这样的:集团一列,但不包括另一列

id name  timestamp  
1 gate1  2013-08-27 17:00:27 
2 gate1  2013-08-27 17:00:27 
3 gate2  2013-08-27 17:00:27 
4 gate2  2013-08-28 17:00:27 

我希望我的最终输出如下所示:

name  timestamp  
    gate1  2013-08-27 17:00:27 
    gate2  2013-08-27 17:00:27 
    gate2  2013-08-28 17:00:27 

什么是最有效的方法来在SQL中做到这一点?

我试着用[按名称组]但我得到的输出如下错误

名时间戳
GATE1 2013年8月27日17:00:27
GATE2 2013年8月27日17:00 :27

在此先感谢。

+1

不同名称的时间戳? – zxc

+0

'GROUP BY名称,时间戳'?如果你想每个时间戳创建它自己的组,你需要将它包含在“GROUP BY”中。 – MatBailie

+0

但我只需要包含GROUP BY名称。 – Seetha

回答

1

你没有说明为什么行应退还任何逻辑,但它看起来像DISTINCT是你要找的东西:

SELECT DISTINCT 
    name, 
    timestamp 
FROM 
    tableName 
+0

其实我想按名称使用群组。我从另一个表中提到的name_id获取名称。所以我想按名称使用组。如果时间戳具有相同的门名称意味着我想组合在一起。但如果门名有不同的时间戳意味着我不会在一起。 – Seetha

1

基础上的信息,你给我们

select distinct name,timestamp from table
应该工作

+0

这工作正常。但是我想在同一张表中选择两个以上的字段。所以,我需要添加不同的列名称。 – Seetha

1
SELECT name, timestamp 
FROM tableName 
group by name, timestamp 
2

SELECT DISTINCT名称,时间戳 FROM Table1;

现场演示,检查SQLFiddle

+0

但我想在同一张表中选择两个以上的字段。所以,我需要添加不同的列名称。 – Seetha

+0

@Seetha: DISTINCT在列名称列表的开始处,在SELECT之后,将为您提供这些行的DISTINCT值的行。例如: SELECT DISTINCT col1,col2,col3,col4 FROM table; 这将为您提供DISTINCT值为(col1,col2,col3,col4)的所有行。 – Jayvardhan