Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выборка максимума
 
 автор: Pegas   (07.11.2005 в 15:33)   письмо автору
 
 

Пишу скрипт учета просмотренных фотографий каждым пользователем.
Таблица учета:

id
id_user
date
.....

Таблица user:

id_user
name
.....


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

   
 
 автор: Евгений Петров   (07.11.2005 в 15:46)   письмо автору
 
   для: Pegas   (07.11.2005 в 15:33)
 

Тут скорее всего надо временную таблицу создавать:
<?
  mysql_query
("CREATE TEMPORARY TABLE tmp(cnt int)");
  
mysql_query("INSERT INTO tmp SELECT COUNT(id_user) FROM таблица_учета GROUP BY id_user");
  
$user mysql_result(mysql_query("SELECT MAX(cnt) FROM tmp"),0);
  
$user mysql_result(mysql_query("SELECT name FROM user WHERE id_user = '$user' LIMIT 1"),'name');
  echo 
$user;
  
mysql_query("DROP TABLE tmp");
?>

   
 
 автор: pegas   (07.11.2005 в 16:10)   письмо автору
 
   для: Евгений Петров   (07.11.2005 в 15:46)
 

интересная штука, сегодня попробую!

   
 
 автор: Евгений Петров   (07.11.2005 в 16:13)   письмо автору
 
   для: pegas   (07.11.2005 в 16:10)
 

Правда не на всех хостингах разрешено создавать временные таблицы. Хотя если мне не изменяет память то на hut.ru разрешено. :)

   
 
 автор: cheops   (07.11.2005 в 16:18)   письмо автору
 
   для: Евгений Петров   (07.11.2005 в 15:46)
 

Только следует учитывать, что на большинстве хостингов создание временных таблиц запрещено.

PS А какая версия MySQL используется? Если выше 4.1 можно осуществить такой запрос через вложенные запросы.

   
 
 автор: pegas   (08.11.2005 в 09:31)   письмо автору
 
   для: cheops   (07.11.2005 в 16:18)
 

Да БД версии выше 4.1

Временные таблицы не создаются....

   
 
 автор: cheops   (08.11.2005 в 12:06)   письмо автору
 
   для: pegas   (08.11.2005 в 09:31)
 

Попробуйте вот так
SELECT user.name 
FROM user, (SELECT id_user, COUNT(id_user) AS total FROM tbl GROUP BY id_usdr ORDER BY total DESC) AS usr 
WHERE user.id_user = usr.id_user 
GROUP BY usr.id_user 
LIMIT 1 

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования