[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выборка значений из базы данных по дням
Strannik
Добрый день.
Необходимо выбрать данные из юазы данных по дня в таблицу вида:
user posted image

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


Структура базы:

CREATE TABLE [dbo].[Statistic_banners](
[
id] [int] IDENTITY(1,1) NOT NULL,
[
user_id] [varchar](50) NULL,
[
banner_idn] [varchar](50) NULL,
[
banner_page] [varchar](150) NULL,
[
action] [varchar](50) NULL,
[
datetime] [datetime] NULL,
[
server_referer] [varchar](150) NULL,
[
ip] [varchar](50) NULL,
[
browser] [varchar](500) NULL,
[
id_firm] [varchar](50) NULL
) ON [PRIMARY]
Rand
Структуру таблиц БД в студию ))
Strannik
добавил в вопрос
Valick
вторая строка в таблице это у вас количество или сумма чего-то за день?
примерно так должно быть, если я правильно понял вопрос (хотя если честно достаточно мутно описано)

SELECT DATE(`datetime`), COUNT(*) FROM dbo.ExPRoG_Statistic_banners GROUP BY DATE(`datetime`)


SELECT DATE(`datetime`), SUM(`поле`) FROM dbo.ExPRoG_Statistic_banners GROUP BY DATE(`datetime`)


_____________
Стимулятор ~yoomoney - 41001303250491
T1grOK
Можно сделать вспомогательную таблицу с датами. Потом JOIN-ить. Это в том случае, если нужен каждый день и возможно отсутствие записей на дату.

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Valick
Цитата
Это в том случае, если нужен каждый день и возможно отсутствие записей на дату.

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


_____________
Стимулятор ~yoomoney - 41001303250491
Rand
Третья строка это id банера что-ли, а datetime это дата когда банер показывать? Типо медиа-плана? Как решение в лоб:
SELECT `id`, `datetime` FROM `ExPRoG_Statistic_banners`
А потом уже на стороне PHP формировать многомерный массив, где ключи будут - номер месяца и дни, а значениями - id.
Вообще вопрос сформулирован не совсем ясно, если распишете более подробно, будет больше шанс получить верное решение ))
Игорь_Vasinsky
Rand
рациональний эту логику строить на стороне БД, там где и данные.

в php тупо вернуть готовый массив

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Valick
Rand, судя по присутствию Statistic в название таблицы, это уже случившиеся показы баннеров. Хотя в наше время, как показала практика, ни в чем нельзя быть уверенным biggrin.gif


_____________
Стимулятор ~yoomoney - 41001303250491
bestxp
extract(day from datetime) as day,
extract(month from datetime) as month


если нужны дни, а дальше группируй и складывай, доработать можно и легко уже потом
Valick
bestxp, почему extract(day from datetime) as day, а не просто DAY(datetime) day ?


_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
это tsql ? есть и DATEPART

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
bestxp
Цитата (Valick @ 12.08.2013 - 15:35)
bestxp, почему extract(day from datetime) as day, а не просто DAY(datetime) day ?


у него по названию таблицы указаны схема и таблица, что похоже на pgSql . а там нету такого как day , так как не соотвествует стандартам

ps имхо mysql самая убогая бд
Valick
Цитата
а там нету такого как day

bestxp, понял, спасибо.
Цитата
ps имхо mysql самая убогая бд

ну на вкус и цвет фломастеры разные smile.gif


_____________
Стимулятор ~yoomoney - 41001303250491
Rand
Свернутый текст
Цитата (Valick @ 12.08.2013 - 17:15)
Rand, судя по присутствию Statistic в название таблицы, это уже случившиеся показы баннеров. Хотя в наше время, как показала практика, ни в чем нельзя быть уверенным

Точно, если это результат каунта, тогда всё логично )) Сразу не понял.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.