Mグループのうちの上位N行を選択します。私はこのテーブルを持っている
CREATE TABLE IF NOT EXISTS `catalog_sites` (
`id` int(10) unsigned NOT NULL auto_increment,
`cat_id` int(10) unsigned NOT NULL,
`date` datetime NOT NULL,
`url` varchar(255) NOT NULL,
`title` varchar(255) NOT NULL,
`description` varchar(255) NOT NULL,
`keywords` varchar(255) NOT NULL,
`visited` int(10) unsigned NOT NULL,
`shown` int(10) unsigned NOT NULL,
`meta_try` int(1) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `url` (`url`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
私は私の問題は簡単であると思いますが、適切な解決策を見つけるように見えるカント..
をので、これはテーブルですウェブサイトでは、6つのカテゴリ(cat_id、合計:36行)で6つのサイトを取得したいと考えています。評価はvisited
/shown
と計算されます。
6つのトップカテゴリ(私たちはAVG(visited/shown)
でソートして見つけることができます)と、これらの6つのカテゴリのそれぞれに6つのトップサイトを含む36行を取得する必要があります。
これがどうやって起こるかについてご意見がありましたら教えてください。
:
は、ここに私のソリューションです。おそらくこの似たような質問はあなたを助けることができます:http://stackoverflow.com/questions/7602398/selecting-greatest-n-records-in-x-groups/7603343#7603343 –