Поиск по сайту:

Получите, сколько людей регистрируются на текущую дату с помощью MySQL.


Для этого вы можете использовать COUNT() вместе с GROUP BY MONTH(). Чтобы сопоставить текущую дату, используйте CURRENT_DATE(). Текущая дата следующая:

mysql> select curdate() ;
+------------+
| curdate()  |
+------------+
| 2019-11-30 |
+------------+
1 row in set (0.00 sec)

Сначала создадим таблицу:

mysql> create table DemoTable1819
     (
     Name varchar(20),
     RegisteringDate datetime
     );
Query OK, 0 rows affected (0.00 sec)

Вставьте несколько записей в таблицу с помощью команды вставки:

mysql> insert into DemoTable1819 values('Chris','2019-11-29 12:30:34');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1819 values('David','2019-11-30 12:30:34');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1819 values('Mike','2019-12-30 12:30:34');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1819 values('Sam','2018-11-30 11:00:00');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1819 values('Carol','2019-11-30 10:00:00');
Query OK, 1 row affected (0.00 sec)

Отобразите все записи из таблицы с помощью оператора select:

mysql> select * from DemoTable1819;

Это даст следующий результат:

+-------+---------------------+
| Name  | RegisteringDate     |
+-------+---------------------+
| Chris | 2019-11-29 12:30:34 |
| David | 2019-11-30 12:30:34 |
| Mike  | 2019-12-30 12:30:34 |
| Sam   | 2018-11-30 11:00:00 |
| Carol | 2019-11-30 10:00:00 |
+-------+---------------------+
5 rows in set (0.00 sec)

Вот запрос для получения количества людей, зарегистрировавшихся на текущую дату:

mysql> select count(RegisteringDate) as Output from DemoTable1819 WHERE DATE(RegisteringDate) = CURDATE() GROUP BY MONTH(RegisteringDate);

Это даст следующий результат:

+--------+
| Output |
+--------+
|      2 |
+--------+
1 row in set (0.00 sec)

Статьи по данной тематике: