The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (Perl)
Режим отображения только ответов первого уровня [ Отслеживать ]

Оглавление

Вывод данных из БД за последние н дней, HattabbI4 (ok), 26-Мрт-17, (0) [смотреть все] –2

Сообщения [Сортировка по времени | RSS]


1. "Вывод данных из БД за последние н дней"  +/
Сообщение от курил (?), 27-Мрт-17, 01:16 
Эээ, дружище, причем тут база и перл? Нам бы узнать что это за база - MySQL, PostgreSQL, SQLite, CSV может. Плюс, нужно еще узнать какая структура у базы, потом уже можно будет помочь Вам..

Скажем, если там MySQL и простая таблица, можно сдлеать такой запрос например:

SELECT
  call_date,
  AVG(call_duration) AS average_duration
FROM
  calls
WHERE
  call_date >= DATE_SUB(NOW(), INTERVAL 30 DAY)
GROUP BY
  call_date

Ответить | Правка | Наверх | Cообщить модератору
есть ответы, показать

3. "Вывод данных из БД за последние н дней"  +/
Сообщение от Pahanivo (ok), 27-Мрт-17, 11:36 
> Вопрос в другом, данные нужно выводить за последние 3 дней вот тут
> у меня сложности и возникли, сначала хотел из сегодняшней даты вычитать
> 30 и потом прибавлять по одному, но получается что я смогу
> вычесть только до 1 числа месяца и более того не во
> всех месяцах 30 дней.

фигня какая то понаписано и толком не понятно ...
я так понимаю проблема встала с получением параметра для datetime типа что бы указать его в запросе?
если нужно привязываться к дням месяца, месяцу, году и т.д. - сложностей вообще не вижу, читаем ман про временные функции перла.
если нужно брать  произвольный интервал в любую стороно от произвольной точки времени - лучше сконвертить datetime в unix timestamp (unix time) обсчитать в нем сдвиги, результат сконвертить обратно.

Ответить | Правка | Наверх | Cообщить модератору
есть ответы, показать

15. "Вывод данных из БД за последние н дней"  –2 +/
Сообщение от ss (??), 31-Мрт-17, 08:58 
> Вопрос в другом, данные нужно выводить за последние 3 дней вот тут
> В общем я в логическом тупике, прошу помощи :)

взять текущее время в юникстайм
вычесть из него (60*60*24*3)
вставить в селект получившееся число.
это в большинстве случаев - вся что вам надо знать о вычислении разницы в датах.

в зависимости от настройки базы или сессии - вы можете использовать разный формат даты. но из вашего скрипта мне вообще говоря не видно где у вас там колонка с датой?
то есть таймстамп то у вас в базе есть у строк?

если таймтамп пишеться как дата- то там и так юникстайм по умолчанию... если текстовое поле- хреновый у вас был программист. ну тогда просто добавляется одна строка по преобразованию формата даты к юникстайму и далее все как описано выше...

Ответить | Правка | Наверх | Cообщить модератору
есть ответы, показать

19. "Вывод данных из БД за последние н дней"  +/
Сообщение от михалыч (ok), 06-Апр-17, 07:40 
> Вопрос в другом, данные нужно выводить за последние 3 дней вот тут
> у меня сложности и возникли, сначала хотел из сегодняшней даты вычитать
> 30 и потом прибавлять по одному, но получается что я смогу
> вычесть только до 1 числа месяца и более того не во
> всех месяцах 30 дней.

вычесть можно 30 дней,можно больше, можно меньше

> В общем я в логическом тупике, прошу помощи :)
> Каким образом вывести данные на страницу за последние 30 дней, как правильно
> сделать выборку из БД чтобы не делать отдельный запрос для каждого
> дня.

нужно делать выборку сразу за весь требуемый период,
то есть за 30 дней, текущий месяц, предыдущий месяц или любой требуемый период времени

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

там ничего сложного, когда поймешь ))

> Заранее огромное спасибо.
> PS в перле я очень слаб поэтому по возможности прошу давать развернутые
> ответы с кусками кода.

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

Ответить | Правка | Наверх | Cообщить модератору
есть ответы, показать

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру