选择多行,其中某些列的列值相同

时间:2017-01-08 23:07:04

标签: sql sql-server

我已经看过有关此主题的其他帖子,但我对SQL非常糟糕,所以我无法弄清楚如何使其适应我的问题,所以,这里有:

我有一张桌子佣金,就像这样:

Id || No || GroupNo || Type || CreationDate || Details || Workshop

1     45      2        TypeA      15:50         Hello.    NiceRepair
2     50      2        TypeA      15:50         Hello.    QuickFix
7     85      3        TypeA      16:26         Howdy.    NiceRepair

我想选择GroupNo, Type, CreationDate and Details字段,但我遇到了麻烦。

尝试Order By GroupNo,但却导致错误。

我如何构建一个返回如下内容的select语句:(单行,不仅是id = 2,还是所有id> 0)

GroupNo || Type || CreationDate || Details

   2       TypeA     15:50         Hello.
   3       TypeA     16:26         Howdy.

2 个答案:

答案 0 :(得分:2)

不需要Group By,一个简单的DISTINCT应该可以做到这一点

Select Distinct GroupNo, Type, CreationDate, Details
 From YourTable

如果您仍然获得多行

Select GroupNo
      ,Type = max(Type)
      ,CreationDate = max(CreationDate)
      ,Details = max(Details)
 From YourTable
 Group By GroupNo

答案 1 :(得分:0)

select GroupNo,Type,CreationDate,Details
From table
group by GroupNo,Type,CreationDate,Details