Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рейтинг 
:(
    Опции темы
misterio
  Дата 2.2.2008, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 24.11.2007
Где: Узбекистан, Ташке нт.

Репутация: нет
Всего: нет



есть база таблица visits. в ней поля id, date, blog. 
задача:
выбрать из таблицы visits 10 самых посещаемых и вывести их в виде:
1. $blog $visits (всего посещений)
2. $blog $visits (всего посещений)

и т.д.

PM MAIL ICQ GTalk   Вверх
gta4kv
Дата 2.2.2008, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 4
Всего: 91



поле id - id блога или просто auto_increment ?
PM MAIL   Вверх
misterio
Дата 2.2.2008, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 24.11.2007
Где: Узбекистан, Ташке нт.

Репутация: нет
Всего: нет



gta4kv,
auto_increment
blog - имя блога, на который зашли.
date - дата захода.
PM MAIL ICQ GTalk   Вверх
GeneralElectric
Дата 2.2.2008, 22:13 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 2
Всего: 16



я думаю, что поле id - лишнее в этой таблице.
а вот почему блог идентифицируется именем, а не id - это странно.

PM MAIL   Вверх
Golda
Дата 2.2.2008, 23:08 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

Репутация: 6
Всего: 42



В текущем состоянии 

Код

SELECT blog, COUNT(*) AS cnt
FROM visits
GROUP BY blog
ORDER BY cnt DESC
LIMIT 10 


По-хорошему, конечно, нужно преобразовать таблицу, сделав связку не по имени блога, а по его id, как предложил GeneralElectric. Тогда запрос чуть-чуть усложнится

Код

SELECT t_b.blog, COUNT(t_v.*) AS cnt
FROM visits AS t_v INNER JOIN blogs AS t_b ON t_v.blog_id = t_b.id
GROUP BY t_b.blog
ORDER BY cnt DESC
LIMIT 10 



--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
misterio
Дата 3.2.2008, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 24.11.2007
Где: Узбекистан, Ташке нт.

Репутация: нет
Всего: нет



Golda,
в очередной раз спасибо!
PM MAIL ICQ GTalk   Вверх
Golda
Дата 3.2.2008, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

Репутация: 6
Всего: 42



всегда пожалуйста  smile 


--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
misterio
Дата 3.2.2008, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 24.11.2007
Где: Узбекистан, Ташке нт.

Репутация: нет
Всего: нет



Ещё один вопрос...
В бд votes поля - mark(оценка записи), date(дата), recordid(id записи), voter(кто оценивал)

Надо составить рейтинг по полю mark. Надо вывести среднюю оценку mark - avg(mark) where `recordid`...  и вывести в следующем виде:

ID - Оценка
PM MAIL ICQ GTalk   Вверх
misterio
Дата 4.2.2008, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 24.11.2007
Где: Узбекистан, Ташке нт.

Репутация: нет
Всего: нет



всё получилось. вот запрос:
Код

SELECT avg(mark), recordid, COUNT(*) AS cnt
FROM votes
GROUP BY recordid
ORDER BY cnt DESC
LIMIT 100

PM MAIL ICQ GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0490 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.