Помага да получите записи за текущия месец в MySQL за отчитане и анализ на данни. Можете да го използвате, за да получите данни за продажбите за текущия месец, броя на регистрираните през текущия месец и друга полезна информация. Ето как да получите редове от текущия месец в MySQL.
Как да получите записи за текущия месец в MySQL
Ето стъпките за получаване на записи за текущия месец в MySQL. Ще го използваме и за привличане на нови клиенти през месеца.
Да приемем, че имате следната таблица sales(order_date, sale, orders) който съдържа дневен брой поръчки и сума за продажба.
mysql> select * from sales; +------------+------+--------+ | order_date | sale | orders | +------------+------+--------+ | 2020-04-28 | 300 | 10 | | 2020-04-29 | 250 | 15 | | 2020-04-30 | 250 | 12 | | 2020-05-01 | 250 | 14 | | 2020-05-02 | 150 | 20 | | 2020-05-03 | 300 | 21 | | 2020-05-04 | 200 | 15 | | 2020-05-05 | 200 | 17 | | 2020-05-06 | 250 | 12 | | 2020-05-07 | 150 | 15 | | 2020-05-08 | 300 | 12 | | 2020-05-09 | 200 | 18 | +------------+------+--------+
Бонус четене:Как да импортирам CSV в MySQL Workbench
Как да получите данни за продажбите за текущия месец в MySQL
Ето SQL заявката за получаване на записи за текущия месец в MySQL
mysql> select * from sales where MONTH(order_date)=MONTH(now()) and YEAR(order_date)=YEAR(now()); +------------+------+--------+ | order_date | sale | orders | +------------+------+--------+ | 2020-05-01 | 250 | 14 | | 2020-05-02 | 150 | 20 | | 2020-05-03 | 300 | 21 | | 2020-05-04 | 200 | 15 | | 2020-05-05 | 200 | 17 | | 2020-05-06 | 250 | 12 | | 2020-05-07 | 150 | 15 | | 2020-05-08 | 300 | 12 | | 2020-05-09 | 200 | 18 | +------------+------+--------+
В горната заявка използваме системна функция now() за да получите текущата дата и час. След това получаваме редове за текущия месец в MySQL чрез филтриране на редове, които имат същия месец и година като текущата дата и час. MONTH() и YEAR() са вградени функции на MySQL за получаване на номера на месеца и годината от дадена дата.
Бонус четене:Как да създадете хистограма в MySQL
Ако вашата колона за дата, тоест order_date е индексиран, тогава е препоръчително да не използвате никаква функция за него. В противен случай ще отнеме много време да работи. Вместо това можете да използвате следната SQL заявка, за да получите записи за текущия месец в MySQL.
mysql> SELECT * FROM sales WHERE order_date >= (LAST_DAY(NOW()) + INTERVAL 1 DAY - INTERVAL 1 MONTH) AND order_date < (LAST_DAY(NOW()) + INTERVAL 1 DAY); +------------+------+--------+ | order_date | sale | orders | +------------+------+--------+ | 2020-05-01 | 250 | 14 | | 2020-05-02 | 150 | 20 | | 2020-05-03 | 300 | 21 | | 2020-05-04 | 200 | 15 | | 2020-05-05 | 200 | 17 | | 2020-05-06 | 250 | 12 | | 2020-05-07 | 150 | 15 | | 2020-05-08 | 300 | 12 | | 2020-05-09 | 200 | 18 | +------------+------+--------+
След като получите записи за текущия месец в MySQL, можете да използвате инструмент за диаграми, за да го начертаете в добре изглеждаща графика, както е показано по-долу, и да я споделите с вашия екип. Ето линейна графика, създадена с помощта на софтуера за табло Ubiq
Бонус четене:Как да изчислим процента на конверсия в MySQL
Как да получите регистрации и нови потребители през текущия месец в MySQL
По същия начин можете също да получите нови регистрации и потребители през текущия месец в MySQL. Да приемем, че имате следната таблица Потребители(user_id, date_joined) която съдържа данни за регистрация.
mysql> select * from users; +-------------+---------+ | date_joined | user_id | +-------------+---------+ | 2020-04-28 | 213 | | 2020-04-28 | 214 | | 2020-04-30 | 215 | | 2020-04-28 | 216 | | 2020-04-28 | 217 | | 2020-04-30 | 218 | | 2020-04-28 | 219 | | 2020-04-28 | 220 | | 2020-04-30 | 221 | | 2020-05-01 | 222 | | 2020-05-01 | 222 | | 2020-05-01 | 223 | | 2020-05-04 | 224 | | 2020-05-04 | 225 | | 2020-05-04 | 226 | | 2020-05-04 | 226 | | 2020-05-04 | 227 | | 2020-05-04 | 228 | | 2020-05-05 | 229 | | 2020-05-05 | 230 | | 2020-05-05 | 231 | | 2020-05-05 | 232 | | 2020-05-06 | 233 | | 2020-05-06 | 234 | +-------------+---------+
Ето SQL заявката, за да получавате ежедневни нови регистрации и потребители през текущия месец в MySQL.
mysql> select date(date_joined),count(*) from users where MONTH(date_joined)=MONTH(now()) and YEAR(date_joined)=YEAR(now()) group by date(date_joined); +-------------------+----------+ | date(date_joined) | count(*) | +-------------------+----------+ | 2020-05-01 | 3 | | 2020-05-04 | 6 | | 2020-05-05 | 4 | | 2020-05-06 | 2 | +-------------------+----------+
Можете също да използвате тази SQL заявка, за да получите броя на потребителите за един месец или да преброите нови потребители през последния месец. Просто премахнете date(date_joined) от изберете клауза и премахнете група по клауза, за да получите общ брой.
mysql> select count(*) from users where MONTH(date_joined)=MONTH(now()) and YEAR(date_joined)=YEAR(now());
Бонус за четене:Как да попълним липсващите дати в MySQL
След като получите записи за текущия месец в MySQL, можете да използвате инструмент за отчитане, за да начертаете тези данни на лента или табло за управление и да ги споделите с вашия екип. Ето пример за лентова диаграма, която показва ежедневни регистрации през текущия месец, създадена с Ubiq.
Ако искате да създавате диаграми, табла за управление и отчети от MySQL база данни, можете да опитате Ubiq. Предлагаме 14-дневен безплатен пробен период.