Как считать каждый месяц записи из таблицы 1 и хранить их в таблице 2 - PullRequest
0 голосов
/ 18 марта 2019

Допустим, у меня есть 2 таблицы

В Таблице 1 у меня есть 3 столбца с именем

Table1

Id | Name | Date (Format: 12-01-2019)
1     ABC     22-08-2019
2     XYZ     23-07-2019

Теперь у меня вопрос: как сохранить счетчик месяцев в другой таблице (т. Е. В таблице 2)

Ожидаемый результат:

Таблица 2

Month      |     Count
08/Aug             1
07/July            1

Я искал много запросов, но не нашел лучшего

Может ли кто-нибудь предоставить мне этот SQL-запрос?

OR

Если вы можете предоставить SQL-запрос, который хранит все эти значения в отдельном столбце в Table1 с дополнительным столбцом

Ответы [ 3 ]

0 голосов
/ 18 марта 2019
INSERT INTO table2(month,count)
SELECT 
   MONTH(Date) AS m, COUNT(DISTINCT Id)
FROM 
   table1 GROUP BY m;
0 голосов
/ 18 марта 2019

Это можно сделать одним запросом

Insert into Table2 (Column1, Column2)
Select Count(*), DATEColumn from Table1 group by DATEColumn

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

0 голосов
/ 18 марта 2019
merge into table_2 tgt
using 
    (select trunc(dt, 'month') dt, count(*) cnt
     from table_1
     group by trunc(dt, 'month')
    ) src on (tgt.dt = src.dt)
when not matched then insert (tgt.dt, tgt.cnt)
                      values (src.dt, src.cnt);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...