当前位置:首页 > Mysql教程 > 列表

MySQL获取所有分类和每个分类的前N条记录

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-08 15:43:51 浏览: 评论:0 

本文章给大家介绍MySQL获取所有分类和每个分类的前N条记录,Article(Id,Category,InsertDate),现在要用SQL找出每种类型中时间最新的前N个数据组成的集合,一段不错的代码,代码如下:

  1. SELECT A1.*   
  2. FROM Article AS A1   
  3.      INNER JOIN (SELECT A.Category,A.InsertDate  
  4.                  FROM Article AS A   
  5.                       LEFT JOIN Article AS B   
  6.                         ON A.Category = B.Category   
  7.                            AND A.InsertDate <= B.InsertDate   
  8.                  GROUP BY A.Category,A.InsertDate  
  9.                  HAVING COUNT(B.InsertDate) <= @N  
  10.     ) AS B1  --phpfensi.com 
  11.     ON A1.Category = B1.Category   
  12.        AND A1.InsertDate = B1.InsertDate  
  13. ORDER BY A1.Category,A1.InsertDate DESC

Tags: MySQL获取分类 MySQL前N条记录

分享到: