1. 程式人生 > >mysql分組取每組前幾條記錄

mysql分組取每組前幾條記錄

1、表SQL:

DROP TABLE IF EXISTS `ho_archives`;
CREATE TABLE `ho_archives` (
  `id` mediumint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `type` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '所屬欄目',
  `title` varchar(80) NOT NULL DEFAULT '' COMMENT '標題 ',
  `senddate` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '釋出時間',
  `isdelete` tinyint(11) NOT NULL DEFAULT '0' COMMENT '邏輯刪除狀態0:不刪除1:假刪除',
  PRIMARY KEY (`id`),
  KEY `arctypeid` (`type`)
) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='文件自定義屬性表';


INSERT INTO `ho_archives` VALUES ('1', '16', '網站漏洞檢測服務', '1379300153', '0');
INSERT INTO `ho_archives` VALUES ('3', '16', '網站安全監控', '1379300340', '0');
INSERT INTO `ho_archives` VALUES ('4', '16', '網站應急響應服務', '1379300358', '0');
INSERT INTO `ho_archives` VALUES ('5', '16', '網站程式碼加固', '1379300370', '0');
INSERT INTO `ho_archives` VALUES ('6', '14', '網站伺服器安全加固', '1379300782', '0');
INSERT INTO `ho_archives` VALUES ('7', '14', '國內資訊保安存5大盲區', '1379397987', '0');
INSERT INTO `ho_archives` VALUES ('8', '14', 'Gartner揭示十大IT安全誤區', '1379398105', '0');
INSERT INTO `ho_archives` VALUES ('9', '14', '黑客組織“匿名者”威脅', '1383567878', '0');
INSERT INTO `ho_archives` VALUES ('10', '17', '網站安全服務專案-安全檢測授權書', '1384131921', '0');
INSERT INTO `ho_archives` VALUES ('11', '17', '網站安全服務專案-安全檢測授權書', '1384132192', '0');
INSERT INTO `ho_archives` VALUES ('12', '17', '如何利用Google機器人進行SQL攻擊', '1384149836', '0');
INSERT INTO `ho_archives` VALUES ('13', '17', '網站安全服務專案-安全檢測授權書', '1384161419', '0');
INSERT INTO `ho_archives` VALUES ('14', '13', '對於即將出臺的等保標準', '1533605926', '0');
INSERT INTO `ho_archives` VALUES ('15', '13', '《網路安全法實施指南 、一》', '1533611060', '0');
INSERT INTO `ho_archives` VALUES ('16', '13', '《網路安全法實施指南、二》', '1533612538', '0');
INSERT INTO `ho_archives` VALUES ('17', '13', '《國家網路空間安全戰略》全文', '1533623084', '0');
INSERT INTO `ho_archives` VALUES ('18', '13', '《國家網路安全事件應急預案》', '1533624631', '0');
 

2、查詢sql:

select a.*
from ho_archives a 
where (select count(*) from ho_archives where type=a.type and a.id < id)<3
order by a.id desc;

3、結果: