Я хочу отображать зарегистрированных пользователей каждый месяц в моем веб-приложении. Для этого я предполагаю запросить счетчик из таблицы пользователя и отправить его во внешний интерфейс. В качестве примера я получаю количество пользователей за один месяц из следующего запроса.
select count(u_id) AS 'Count', MONTH(reg_date) AS Month
from user
WHERE(reg_date) BETWEEN '2019-10-01' AND '2019-10-31'
Показывает количество пользователей, зарегистрированных в октябре. Полученная в результате этого запроса таблица выглядит следующим образом.
------------------------
Count Month
------------------------
2 10
------------------------
Я хочу получить следующий результат:
------------------------
Count Month
------------------------
2 1
------------------------
10 2
------------------------
5 3
------------------------
Я сохранил идентификатор пользователя и дату регистрации впользовательская таблица. дата регистра - это тип даты SQL, а UserID - целое число. Я могу получить количество пользователей за данный месяц, используя запрос, который я упомянул ниже, и сохранить его в переменной в серверной части и снова вызвать базу данных, чтобы получить следующий месяц и т. Д. (Использование цикла). Затем создайте список и отправьте на веб-интерфейс. Но для этого мне нужно несколько раз вызвать базу данных. Для получения пользователей 12 месяцев мне нужно сделать запрос 12 раз. Я хочу получить количество пользователей в каждом месяце всего за один запрос. Если я сохраню дату в виде трех столбцов, таких как дата, месяц, год, я смогу получить этот результат. Но я не хочу менять текущую структуру таблицы. Есть ли способ решить эту задачу, не меняя структуру текущей таблицы?