Spec-Zone.ru › MySQL 5.7

3.6.8 Вычисление посещений в день

Следующий пример демонстрирует, как использовать функции групп битов для расчета количества дней в месяце, когда пользователь посещал веб-страницу.

CREATE TABLE t1 (year YEAR, month INT UNSIGNED,
             day INT UNSIGNED);
INSERT INTO t1 VALUES(2000,1,1),(2000,1,20),(2000,1,30),(2000,2,2),
            (2000,2,23),(2000,2,23);

В таблице примера содержатся значения год-месяц-день, представляющие посещения страницы пользователями. Чтобы определить, сколько различных дней в каждом месяце происходят эти посещения, используйте этот запрос:

SELECT year,month,BIT_COUNT(BIT_OR(1<<day)) AS days FROM t1
       GROUP BY year,month;

Что возвращает:

+------+-------+------+
| year | month | days |
+------+-------+------+
| 2000 |     1 |    3 |
| 2000 |     2 |    2 |
+------+-------+------+

Запрос рассчитывает, сколько различных дней появляется в таблице для каждой комбинации год/месяц, с автоматическим удалением дубликатов.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/calculating-days.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API