Итоговые функции. Используются для получения итоговых данных по таблицам, например, когда надо просуммировать какие-либо данные без их выборки. Итоговые функции еще называют статистическими, агрегатными или суммирующими. Эти функции обрабатывают набор строк для подсчета и возвращения одного значения. Таких функций всего пять:
· AVG() Функция возвращает среднее значение столбца.
· COUNT() Функция возвращает число строк в столбце.
Если указать count(*), функция вернет число непустых строк запроса.
· MAX() Функция возвращает самое большое значение в столбце.
· MIN() Функция возвращает самое маленькое значение в столбце.
· SUM() Функция возвращает сумму значений столбца.
Вместе с итоговыми функциями зачастую используется оператор GROUP BY, позволяющий группировать выборку по каким-либо критериям (столбцам).
Функции даты и времени. Используются для управления значениями даты и времени, например, для возвращения разницы между датами.
· PERIOD_ADD(P,N)
Добавляет N месяцев к периоду P (в формате YYMM или YYYYMM). Возвращает величину в формате YYYYMM. Следует учитывать, что аргумент периода P не является значением даты:
mysql> SELECT PERIOD_ADD(9801,2);
-> 199803
· PERIOD_DIFF(P1,P2)
Возвращает количество месяцев между периодами P1 и P2. P1 и P2 должны быть в формате YYMM или YYYYMM. Следует учитывать, что аргументы периода P1 и P2 не являются значениями даты:
mysql> SELECT PERIOD_DIFF(9802,199703);
-> 11
· NOW()
Возвращает текущую дату и время как величину в формате YYYY-MM-DD HH:MM:SS или YYYYMMDDHHMMSS, в зависимости от того, в каком контексте используется функция - в строковом или числовом:
mysql> SELECT NOW();
-> '1997-12-15 23:50:26'
mysql> SELECT NOW() + 0;
-> 19971215235026
Другие функции. Возвращают различную другую (служебную) информацию.
• FOUND_ROWS()
Возвращает количество строк, которые возвратила бы последняя команда SELECT SQL_CALC_FOUND_ROWS ... при отсутствии ограничения оператором LIMIT.
mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name WHERE id > 100 LIMIT 10;
mysql> SELECT FOUND_ROWS();
• INET_ATON (expr)
Учитывая точки в представлении IPv4-адреса сети в формате строки, возвращает целое число, представляющее числовое значение адреса сети в виде набора байтов (Big Endian). INET_ATON () возвращает NULL, если адрес введен в неверном формате.
MySQL> SELECT INET_ATON ('10 .0.5.9 ');
-> 167773449
Для этого примера, возвращаемое значение рассчитывается как 10 × 2563 × 0 + 2562 + 5 × 256 + 9.
INET_ATON () может вернуть, или нет ненулевой результат для краткой формы IP-адреса (например, ‘127.1’ как представление адреса ‘127 .0.0.1’). Поэтому функция INET_ATON () не должна использоваться для таких адресов.
Внимание!
Для хранения значений, порожденных INET_ATON (), используется тип столбца INT UNSIGNED, а не INT. Если использовать тип INT, то значения, соответствующие IP-адресу, для которого первый октет больше 127 не будут сохранены.
• INET_NTOA (expr)
Используя числовое представление IPv4-адреса в виде порядка байт, возвращает IP-адрес в виде бинарной строки. INET_NTOA () возвращает NULL, если expr имеет неверный формат.
MySQL> SELECT INET_NTOA (167773449);
-> '10 .0.5.9 '
Все данные проекта хранятся в одной базе данных – powerplay. Данная база данных является реляционной. Все таблицы в базе данных связаны друг с другом по каким-либо полям. Всего в ходе работы было создано 22 таблицы, включая «технические таблицы». 4 таблицы предназначены для проведения конкретного турнира, и при создании нового турнира, должны быть созданы 4 таблицы идентичной структуры, 12 общих таблиц, обеспечивающих проведение любого турнира и 6 таблиц, поддерживающих функционирование систем сайта (Рис. 1.6.). Полный текст запросов создания всех таблиц находится в Приложении 1.
Рисунок 1.6. – Список таблиц БД проекта.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.