|
|
|
| Пишу скрипт учета просмотренных фотографий каждым пользователем.
Таблица учета:
Таблица user:
В первой таблице идет учет каждого просмотра фото.
Как зделать запрос, чтобы он вывел имя самого злосного просмотрощика фотографий :) | |
|
|
|
|
|
|
|
для: 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");
?>
|
| |
|
|
|
|
|
|
|
для: Евгений Петров
(07.11.2005 в 15:46)
| | интересная штука, сегодня попробую! | |
|
|
|
|
|
|
|
для: pegas
(07.11.2005 в 16:10)
| | Правда не на всех хостингах разрешено создавать временные таблицы. Хотя если мне не изменяет память то на hut.ru разрешено. :) | |
|
|
|
|
|
|
|
для: Евгений Петров
(07.11.2005 в 15:46)
| | Только следует учитывать, что на большинстве хостингов создание временных таблиц запрещено.
PS А какая версия MySQL используется? Если выше 4.1 можно осуществить такой запрос через вложенные запросы. | |
|
|
|
|
|
|
|
для: cheops
(07.11.2005 в 16:18)
| | Да БД версии выше 4.1
Временные таблицы не создаются.... | |
|
|
|
|
|
|
|
для: 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
|
| |
|
|
|