Рисуем графики: відмінності між версіями
Перейти до навігації
Перейти до пошуку
Sv (обговорення | внесок) (Новая страница: «мини») |
Sv (обговорення | внесок) Немає опису редагування |
||
Рядок 1: | Рядок 1: | ||
[[Файл:Programming graphs.png|мини]] | [[Файл:Programming graphs.png|мини]] | ||
Нарисовать график несложно. Это делается в 2 шага: | |||
1. Подготавливаем данные и сохраняем в базе данных | |||
2. Выводим график :) | |||
Поставим задачу: вывести график количества платежей на каждый день. | |||
Количество платежей: | |||
<pre> | |||
SELECT UNIX_TIMESTAMP(DATE(FROM_UNIXTIME(time))) tm, COUNT(*) n | |||
FROM pays GROUP BY tm ORDER BY tm | |||
</pre> | |||
Пояснение: | |||
1. Платежи хранятся в таблице pays | |||
2. COUNT(*) n - считает количество записей и записывает в "переменную" n (запись в n исключительно для удобства) | |||
3. UNIX_TIMESTAMP(DATE(FROM_UNIXTIME(time))) tm - довольно ссложная конструкция. Проанализируем по частям: | |||
3.1. Поле time хранит и дату и время платежа. А нам нужна только дата. Т.е. нужно отброссить время | |||
3.2. Время можно отбросить командой DATE() |
Версія за 17:52, 23 квітня 2021
Нарисовать график несложно. Это делается в 2 шага: 1. Подготавливаем данные и сохраняем в базе данных 2. Выводим график :)
Поставим задачу: вывести график количества платежей на каждый день.
Количество платежей:
SELECT UNIX_TIMESTAMP(DATE(FROM_UNIXTIME(time))) tm, COUNT(*) n FROM pays GROUP BY tm ORDER BY tm
Пояснение: 1. Платежи хранятся в таблице pays 2. COUNT(*) n - считает количество записей и записывает в "переменную" n (запись в n исключительно для удобства) 3. UNIX_TIMESTAMP(DATE(FROM_UNIXTIME(time))) tm - довольно ссложная конструкция. Проанализируем по частям: 3.1. Поле time хранит и дату и время платежа. А нам нужна только дата. Т.е. нужно отброссить время 3.2. Время можно отбросить командой DATE()