Группировать только по одному столбцу - PullRequest
0 голосов
/ 21 марта 2019

У меня такой запрос:

SELECT
             [D].[Name]  AS [Display]
            , [D].[DesignKey] AS [Value]
             FROM [Design] AS [D]
                 INNER JOIN [DesignGroup] AS [DG] ON [D].[DesignGroupId] = [DG].[DesignGroupId]
                 INNER JOIN [DesignType] AS [DT] ON [DT].[DesignTypeGuid] = [D].[DesignTypeGuid]
             WHERE [DG].[ProjectKey] = 4202
                  AND [D].[IsDeleted] = 0
                  AND [D].[Name] != 'CACHE REESED SEQUENCE'
             GROUP BY
                    [D].[Name], [D].[DesignKey]

Возвращает данные как:

+-------------------------------------------+------+
|                  Design                   |  |
+-------------------------------------------+------+
| Design                                    | 5279 |
| Design                                    | 5280 |
| new design test                           | 5287 |
| another design                            | 5288 |
| NO CACHE FOLIO SEQUENCE                   | 5289 |
| RESEED                                    | 5291 |
| RESEED 2                                  | 5292 |
| RESEED 2                                  | 5306 |
| RESEED 2                                  | 5307 |
| RESEED 2                                  | 5308 |
| RESEED 2                                  | 5309 |
| test copy customers from  design RESEED 2 | 5310 |
+-------------------------------------------+------+

Я хочу знать, как я могу Сгруппировать результаты в 1 [D]. [Имя] Я имею в виду получить первый DesignKey каждого Имени и получить результаты, такие как:

+-------------------------------------------+------+
|                  Design                   | 4684 |
+-------------------------------------------+------+
| new design test                           | 5287 |
| another design                            | 5288 |
| NO CACHE FOLIO SEQUENCE                   | 5289 |
| RESEED                                    | 5291 |
| RESEED 2                                  | 5292 |
| test copy customers from  design RESEED 2 | 5310 |
+-------------------------------------------+------+

Как мне этого добиться?

1 Ответ

2 голосов
/ 21 марта 2019

Вы, кажется, хотите агрегацию:

SELECT D.Name as Display, MIN(D.DesignKey) as value
FROM Design D JOIN
     DesignGroup DG
     ON D.[DesignGroupId] = DG.[DesignGroupId] JOIN
     DesignType DT
     ON DT.[DesignTypeGuid] = D.[DesignTypeGuid]
WHERE [DG].[ProjectKey] = 4202 AND
      [D].[IsDeleted] = 0 AND
      [D].[Name] <> 'CACHE REESED SEQUENCE'
GROUP BY D.Name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...