SQL Server: запрос к группированию по дате и минимуму и максимуму результата - PullRequest
0 голосов
/ 04 июля 2019

Мне было интересно, может кто-нибудь помочь мне с запросом, который я пытаюсь написать. Я работаю с синтаксисом SQL Server.

Я пытаюсь сгруппировать эти строки по группам, и в моем выводе также отображаются минимальная и максимальная даты, связанные с этой группой.

Прошу прощения за отсутствие кода, чтобы предложить. Я просто не мог ничего придумать. Этот вышел за рамки моего понимания SQL. Не против, если к решению добавят объяснение или теорию для обучения.

Еще раз спасибо всем, кто может мне помочь.

Вот пример.

Образец данных:

+----------------+-------------+-------------------+-----------------+ 
|      Name      |   Group     |    CheckInDate    |   CheckOutDate  |
+----------------+-------------+-------------------+-----------------+
|      Rogue     |   Group 1   |     01/03/2019    |   01/08/2019    |
+----------------+-------------+-------------------+-----------------+ 
|      Larry     |   Group 3   |     01/01/2019    |   01/07/2019    |
+----------------+-------------+-------------------+-----------------+
|      Jorge     |   Group 2   |     01/02/2019    |   01/04/2019    |
+----------------+-------------+-------------------+-----------------+ 
|      Tara      |   Group 1   |     01/02/2019    |   01/07/2019    |
+----------------+-------------+-------------------+-----------------+ 
|      Luca      |   Group 2   |     01/03/2019    |   01/08/2019    |
+----------------+-------------+-------------------+-----------------+  

Вывод запроса

 +----------------+-----------------+-------------------+-----------------+
 |   Description  |      Count      |    CheckInDate    |   CheckOutDate  | 
 +----------------+-----------------+-------------------+-----------------+ 
 |     Group 1    |        2        |     01/02/2019    |    01/08/2019   |     
 +----------------+-----------------+-------------------+-----------------+
 |     Group 2    |        2        |     01/02/2019    |    01/08/2019   | 
 +----------------+-----------------+-------------------+-----------------+
 |     Group 3    |        1        |     01/01/2019    |    01/07/2019   |
 +----------------+-----------------+-------------------+-----------------+  

1 Ответ

1 голос
/ 04 июля 2019

Вам необходимо group by Группировать и сделать min и max в столбцах даты:

SELECT
  Group AS Description, COUNT(*) AS Count,
  MIN(CheckInDate) AS CheckInDate,
  MAX(CheckOutDate) AS CheckOutDate
FROM Dates
GROUP BY Group;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...