Задавайте вопросы, мы ответим
Вы не зашли.
Добрый день.
Прошу помочь с составлением двух запросов.
Таблицы:
CREATE TABLE IF NOT EXISTS `xbtit_users` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(40) NOT NULL DEFAULT '', `password` varchar(40) NOT NULL DEFAULT '', `id_level` int(10) NOT NULL DEFAULT '1', `random` int(10) DEFAULT '0', `email` varchar(50) NOT NULL DEFAULT '', `language` tinyint(4) NOT NULL DEFAULT '1', `style` tinyint(4) NOT NULL DEFAULT '1', `joined` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `lastconnect` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `lip` bigint(11) DEFAULT '0', `downloaded` bigint(20) DEFAULT '1073741824', `uploaded` bigint(20) DEFAULT '5368709120', `avatar` varchar(200) DEFAULT NULL, `avatar_upload` enum('yes','no') NOT NULL DEFAULT 'no', `avatar_upload_name` varchar(60) NOT NULL, `pid` varchar(32) NOT NULL DEFAULT '', `flag` tinyint(1) unsigned NOT NULL DEFAULT '0', `topicsperpage` tinyint(3) unsigned NOT NULL DEFAULT '15', `postsperpage` tinyint(3) unsigned NOT NULL DEFAULT '15', `torrentsperpage` tinyint(3) unsigned NOT NULL DEFAULT '15', `cip` varchar(15) DEFAULT NULL, `time_offset` varchar(4) NOT NULL DEFAULT '0', `temp_email` varchar(50) NOT NULL DEFAULT '', `smf_fid` int(10) NOT NULL DEFAULT '0', `dlrandom` varchar(8) DEFAULT '0', `age` int(9) NOT NULL DEFAULT '0', `gender` int(9) NOT NULL DEFAULT '2', `toptracker_user_votetime` date NOT NULL DEFAULT '0000-00-00', `commentpm` enum('true','false') NOT NULL DEFAULT 'true', `retrackerstr` enum('0','1') NOT NULL DEFAULT '1', `seedbonus` decimal(12,6) NOT NULL DEFAULT '0.000000', `admemailsend` enum('true','false') NOT NULL DEFAULT 'true', PRIMARY KEY (`id`), UNIQUE KEY `username` (`username`), KEY `id_level` (`id_level`), KEY `pid` (`pid`), KEY `cip` (`cip`), KEY `avatar_upload` (`avatar_upload`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=16363 ; CREATE TABLE IF NOT EXISTS `xbtit_files` ( `info_hash` varchar(40) NOT NULL DEFAULT '', `filename` varchar(250) NOT NULL DEFAULT '', `url` varchar(250) NOT NULL DEFAULT '', `info` varchar(250) NOT NULL DEFAULT '', `data` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `size` bigint(20) NOT NULL DEFAULT '0', `comment` text, `category` int(10) unsigned NOT NULL DEFAULT '6', `genres` varchar(50) NOT NULL, `external` enum('yes','no') NOT NULL DEFAULT 'no', `announce_url` varchar(100) NOT NULL DEFAULT '', `uploader` int(10) NOT NULL DEFAULT '1', `lastupdate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `anonymous` enum('true','false') NOT NULL DEFAULT 'false', `lastsuccess` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `dlbytes` bigint(20) unsigned NOT NULL DEFAULT '0', `seeds` int(10) unsigned NOT NULL DEFAULT '0', `leechers` int(10) unsigned NOT NULL DEFAULT '0', `finished` int(10) unsigned NOT NULL DEFAULT '0', `lastcycle` int(10) unsigned NOT NULL DEFAULT '0', `lastSpeedCycle` int(10) unsigned NOT NULL DEFAULT '0', `speed` bigint(20) unsigned NOT NULL DEFAULT '0', `bin_hash` blob NOT NULL, `image` varchar(255) NOT NULL, `screen1` varchar(255) NOT NULL, `screen2` varchar(255) NOT NULL, `screen3` varchar(255) NOT NULL, `sticky` enum('0','1') NOT NULL DEFAULT '0', `imdb` varchar(10) NOT NULL DEFAULT '0', `recomend` enum('0','1') NOT NULL DEFAULT '0', `kinopoisk` varchar(10) NOT NULL DEFAULT '0', `reseed` int(9) NOT NULL DEFAULT '0', `moder` enum('um','bad','ok') NOT NULL DEFAULT 'um', `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`info_hash`), UNIQUE KEY `id_2` (`id`), KEY `filename` (`filename`), KEY `category` (`category`), KEY `uploader` (`uploader`), KEY `bin_hash` (`bin_hash`(20)), KEY `id` (`id`), FULLTEXT KEY `filename_index` (`filename`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3288 ; CREATE TABLE IF NOT EXISTS `xbtit_files_thanks` ( `infohash` char(40) NOT NULL DEFAULT '0', `userid` int(11) NOT NULL DEFAULT '0', KEY `infohash` (`infohash`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Описание словами:
users - таблица с пользователями
files - таблица с раздачами
files_thanks - таблица хранит id пользователей ,сказавших спасибо для конкретной раздачи
Запросы:
1. вывести первые 10 записей из таблицы users, отсортированных по убыванию общего количества user.id = files.uploader
Иными словами вывести 10 пользователей имеющих наибольшее количество раздач, т.е. являющихся аплоадерами в раздаче
2. Тоже самое но сортировать по общему количеству полученных "спасибо" для всех раздач в которых пользователь является аплоадером
Надеюсь объяснил достаточно понятно. Если будет нужно, то постараюсь переформулировать
Неактивен
1.
Неактивен
Спасибо. Всё работает.
Неактивен