Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Базы данных MySQL

  Все выпуски  

RusFAQ.ru: Базы данных SQL


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Базы данных SQL

Выпуск № 290
от 17.10.2007, 23:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 443, Экспертов: 48
В номере:Вопросов: 1, Ответов: 3


Вопрос № 105256: Здравствуйте, уважаемые эксперты. Вопрос по запросу для БД MySQL из-под PHP. Имеем таблицу следующего формата: n int(12) id int(6) area varchar(20) date date ip varchar(15) referrer varchar(256) исполь...

Вопрос № 105.256
Здравствуйте, уважаемые эксперты. Вопрос по запросу для БД MySQL из-под PHP.

Имеем таблицу следующего формата:
n int(12)
id int(6)
area varchar(20)
date date
ip varchar(15)
referrer varchar(256)
используемую для ведения статистики посещаемости страниц сайта. Требуется совершить выборку уникальных значений по id(это не id записи, а id статьи), причем не просто выборку а с подсчетом количества повторений каждого конкретного id, при лимите, естественно... Реально ли это сделать чисто средствами SQL, или придется писать цикл с переборкой всех значений и парсить все это средствами PHP?
Отправлен: 12.10.2007, 23:02
Вопрос задал: Большаков Владимир Андреевич (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Powoditch konstantin
Здравствуйте, Большаков Владимир Андреевич!
Для выборки уникальных значений с БД предназначена команда DISTINCT.
Пример для Вас:
SELECT DISTINCT(id) FROM TABLE WHERE 1
Если я Вас правильно понял.
Ответ отправил: Powoditch konstantin (статус: 6-ой класс)
Ответ отправлен: 12.10.2007, 23:09
Оценка за ответ: 4
Комментарий оценки:
А уникальные значения то как подсчитать?

Отвечает: Errandir
Здравствуйте, Большаков Владимир Андреевич!

Давайте немного абстрагируемся от вашего конкретного случая, а рассмотрим некоторую таблицу “tab” где есть колонка “col” и нам нужно сделать, то что нужно вам с полем “id”. Для этого мы отправляем запрос:

SELECT col, COUNT (col) FROM tab GROUP BY col;

Если мы хотим, чтобы ответ был отсортирован по “col” мы немного модифицируем наш запрос:

SELECT col, COUNT (col) FROM tab GROUP BY col ORDER BY col;

Надеюсь, что это именно то, что вам нужно.
---------
Si vox est - canta!
Ответ отправил: Errandir (статус: 5-ый класс)
Ответ отправлен: 12.10.2007, 23:24
Оценка за ответ: 5
Комментарий оценки:
Огромное спасибо! Именно ключ GROUP я и искал! Немного погуглив, нашел верный алгоритм!

Отвечает: Челноков Виктор Альбертович
Здравствуйте, Большаков Владимир Андреевич!
Попробуйте следующие запросы: sql2005
Подсчитывает количество обращений к конкретной статье за период
SELECT id AS статья, COUNT(n) AS количество
FROM Table_1
WHERE (date BETWEEN CONVERT(DATETIME, '2000-01-12 00:00:00', 102) AND CONVERT(DATETIME, '2000-02-12 00:00:00', 102))
GROUP BY id
и
Подсчитывает количество обращений к конкретной статье с определенным IP за период
SELECT id AS статья, COUNT(n) AS количество, ip AS адрес
FROM Table_1
WHERE (date BETWEEN CONVERT(DATETIME, '2000-01-12 00:00:00', 102) AND CONVERT(DATETIME, '2000-02-12 00:00:00', 102))
GROUP BY id, ip
Ответ отправил: Челноков Виктор Альбертович (статус: 3-ий класс)
Ответ отправлен: 13.10.2007, 18:37


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.61.1 от 16.10.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное