Mysql分組取每組前幾條記錄

1.數(shù)據(jù)庫表初始化
表mygoods為商品表,cat_id為分類id域滥,goods_id為商品id纵柿,status為商品當(dāng)前的狀態(tài)位(1:有效,0:無效)启绰。建表語句如下所示:

CREATE TABLE `mygoods` (  
  `goods_id` int(11) unsigned NOT NULL AUTO_INCREMENT,  
  `cat_id` int(11) NOT NULL DEFAULT '0',  
  `price` tinyint(3) NOT NULL DEFAULT '0',  
  `status` tinyint(3) DEFAULT '1',  
  PRIMARY KEY (`goods_id`),  
  KEY `icatid` (`cat_id`)  
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;  
  
INSERT INTO `mygoods` VALUES (1, 101, 90, 0);  
INSERT INTO `mygoods` VALUES (2, 101, 99, 1);  
INSERT INTO `mygoods` VALUES (3, 102, 98, 0);  
INSERT INTO `mygoods` VALUES (4, 103, 96, 0);  
INSERT INTO `mygoods` VALUES (5, 102, 95, 0);  
INSERT INTO `mygoods` VALUES (6, 102, 94, 1);  
INSERT INTO `mygoods` VALUES (7, 102, 93, 1);  
INSERT INTO `mygoods` VALUES (8, 103, 99, 1);  
INSERT INTO `mygoods` VALUES (9, 103, 98, 1);  
INSERT INTO `mygoods` VALUES (10, 103, 97, 1);  
INSERT INTO `mygoods` VALUES (11, 104, 96, 1);  
INSERT INTO `mygoods` VALUES (12, 104, 95, 1);  
INSERT INTO `mygoods` VALUES (13, 104, 94, 1);  
INSERT INTO `mygoods` VALUES (15, 101, 92, 1);  
INSERT INTO `mygoods` VALUES (16, 101, 93, 1);  
INSERT INTO `mygoods` VALUES (17, 101, 94, 0);  
INSERT INTO `mygoods` VALUES (18, 102, 99, 1);  
INSERT INTO `mygoods` VALUES (19, 105, 85, 1);  
INSERT INTO `mygoods` VALUES (20, 105, 89, 0);  
INSERT INTO `mygoods` VALUES (21, 105, 99, 1);  

2.每個分類找出價格最高的兩個商品
查詢每個分類中價格最高的兩個商品昂儒,SQL語句如下所示:

SELECT a.*FROM mygoods a WHERE 
(SELECT count(*) FROM mygoods WHERE cat_id=a.cat_id AND price> a.price)< 2 
ORDER BY a.cat_id,a.price DESC;

執(zhí)行結(jié)果如下所示:

goods_id cat_id price status
2 101 99 1
17 101 94 0
18 102 99 1
3 102 98 0
8 103 99 1
9 103 98 1
11 104 96 1
12 104 95 1
19 105 85 1
3.每個分類找出有效的價格最高的兩個商品
查詢每個分類中有效的價格最高的兩個商品,SQL語句如下所示:

SELECT a.*FROM mygoods a WHERE 
(SELECT count(*) FROM mygoods WHERE cat_id=a.cat_id AND price> a.price AND STATUS=1)< 2 
AND STATUS=1 ORDER BY a.cat_id,a.price DESC;

執(zhí)行結(jié)果如下圖所示:

goods_id cat_id price status
2 101 99 1
16 101 93 1
18 102 99 1
6 102 94 1
8 103 99 1
9 103 98 1
11 104 96 1
12 104 95 1
19 105 85 1
4.每個分類找出有效的價格最高的兩個商品
查詢每個分類中有效的價格最高的兩個商品委可,SQL語句如下所示:

SELECT a.*FROM mygoods a 
LEFT JOIN mygoods b ON a.cat_id=b.cat_id AND a.price< b.price AND b.STATUS=1 
WHERE a.STATUS=1 GROUP BY a.goods_id,a.cat_id,a.price 
HAVING count(b.goods_id)< 2 ORDER BY a.cat_id,a.price DESC;

執(zhí)行結(jié)果如下圖所示:

goods_id cat_id price status
2 101 99 1
16 101 93 1
18 102 99 1
6 102 94 1
8 103 99 1
9 103 98 1
11 104 96 1
12 104 95 1
19 105 85 1

原文:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末渊跋,一起剝皮案震驚了整個濱河市腊嗡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拾酝,老刑警劉巖燕少,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蒿囤,居然都是意外死亡客们,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門材诽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來底挫,“玉大人,你說我怎么就攤上這事脸侥〗ǖ耍” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵睁枕,是天一觀的道長涝缝。 經(jīng)常有香客問我,道長譬重,這世上最難降的妖魔是什么拒逮? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮臀规,結(jié)果婚禮上滩援,老公的妹妹穿的比我還像新娘。我一直安慰自己塔嬉,他們只是感情好玩徊,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谨究,像睡著了一般恩袱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上胶哲,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天畔塔,我揣著相機(jī)與錄音,去河邊找鬼鸯屿。 笑死澈吨,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的寄摆。 我是一名探鬼主播谅辣,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼婶恼!你這毒婦竟也來了桑阶?” 一聲冷哼從身側(cè)響起柏副,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蚣录,沒想到半個月后搓扯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡包归,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了铅歼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片公壤。...
    茶點(diǎn)故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖椎椰,靈堂內(nèi)的尸體忽然破棺而出厦幅,到底是詐尸還是另有隱情,我是刑警寧澤慨飘,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布确憨,位于F島的核電站,受9級特大地震影響瓤的,放射性物質(zhì)發(fā)生泄漏休弃。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一圈膏、第九天 我趴在偏房一處隱蔽的房頂上張望塔猾。 院中可真熱鬧,春花似錦稽坤、人聲如沸丈甸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽睦擂。三九已至,卻和暖如春杖玲,著一層夾襖步出監(jiān)牢的瞬間顿仇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工摆马, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留夺欲,地道東北人。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓今膊,卻偏偏與公主長得像些阅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子斑唬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容