我有這個表:選擇出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行),每個類別的評分最高。評級計算爲visited
/shown
。
我應該得到36行,其中包含6個頂級類別(我們可以通過AVG(visited/shown)
進行排序找到它們)以及這6個類別中的每個類別中的6個頂級網站。
如果您有任何想法如何以不同的方式發生,請告訴我。
這不是簡單的。也許這個類似的問題可以幫助你:http://stackoverflow.com/questions/7602398/selecting-greatest-n-records-in-x-groups/7603343#7603343 –