Мне нужно группировать данные в базе данных postgresql по дате и использовать по дате - PullRequest
0 голосов
/ 06 мая 2018

Мне нужно сгруппировать данные в базе данных postgresql по дате и использовать по дате.

Ниже приведен пример данных в моей базе данных

| id | user_name |    date    | action |
----------------------------------------
| 1  |  user_1   | 2018-05-05 | start  |
| 2  |  user_1   | 2018-05-05 | stop   |
| 3  |  user_2   | 2018-05-05 | start  |
| 4  |  user_2   | 2018-05-05 | stop   |
| 5  |  user_1   | 2018-05-06 | start  |
| 6  |  user_1   | 2018-05-06 | start  |
| 7  |  user_1   | 2018-05-06 | stop   |
| 8  |  user_2   | 2018-05-06 | start  |
| 9  |  user_2   | 2018-05-06 | stop   |

Как создать sql, который даст мне результат, как показано в таблице ниже:

| user_name | 2018-05-05 | 2018-05-06 |
---------------------------------------
|   user_1  |     2      |     3      |
|   user_2  |     2      |     2      |

В столбцах 2018-05-05 и 2018-05-06 отображается информация об объеме использования на эту дату.

1 Ответ

0 голосов
/ 06 мая 2018

Делает ли это то, что вы действительно хотите?

select user_name, 
       sum( (date = '2018-05-05')::int) as date_20180505,
       sum( (date = '2018-05-06')::int) as date_20180506
from t
group by user_name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...