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

 代码如下 复制代码
SELECT A1.* 
FROM Article AS A1 
     INNER JOIN (SELECT A.Category,A.InsertDate
                 FROM Article AS A 
                      LEFT JOIN Article AS B 
                        ON A.Category = B.Category 
                           AND A.InsertDate <= B.InsertDate 
                 GROUP BY A.Category,A.InsertDate
                 HAVING COUNT(B.InsertDate) <= @N
    ) AS B1 
    ON A1.Category = B1.Category 
       AND A1.InsertDate = B1.InsertDate
ORDER BY A1.Category,A1.InsertDate DESC
时间: 2024-10-26 17:20:14

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

MySQL获取所有分类的前N条记录_Mysql

比如有文章表 Article(Id,Category,InsertDate),现在要用SQL找出每种类型中时间最新的前N个数据组成的集合,一段不错的代码,留存备用 SELECT A1.* FROM Article AS A1 INNER JOIN (SELECT A.Category,A.InsertDate FROM Article AS A LEFT JOIN Article AS B ON A.Category = B.Category AND A.InsertDate <= B.Inse

mysql使用GROUP BY分组实现取前N条记录的方法_Mysql

本文实例讲述了mysql使用GROUP BY分组实现取前N条记录的方法.分享给大家供大家参考,具体如下: MySQL中GROUP BY分组取前N条记录实现 mysql分组,取记录 GROUP BY之后如何取每组的前两位下面我来讲述mysql中GROUP BY分组取前N条记录实现方法. 这是测试表(也不知道怎么想的,当时表名直接敲了个aa,汗~~~~): 结果: 方法一: 复制代码 代码如下: SELECT a.id,a.SName,a.ClsNo,a.Score FROM aa a LEFT J

top n-python sqlalchemy 如何实现top写法。想按日期倒排序获取前10条记录。

问题描述 python sqlalchemy 如何实现top写法.想按日期倒排序获取前10条记录. python sqlalchemy 如何实现top写法.想按日期倒排序获取前10条记录. 解决方案 python懂的不多 这是一些积累的资料 希望对你有用啊http://download.csdn.net/album/detail/1239

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

  比如有文章表 Article(Id,Category,InsertDate),现在要用SQL找出每种类型中时间最新的前N个数据组成的集合,一段不错的代码,留存备用 SELECT A1.* FROM Article AS A1 INNER JOIN (SELECT A.Category,A.InsertDate FROM Article AS A LEFT JOIN Article AS B ON A.Category = B.Category AND A.InsertDate <= B.In

mysql分组取每组前几条记录(排名) 附group by与order by的研究_Mysql

--按某一字段分组取最大(小)值所在行的数据 复制代码 代码如下: /* 数据如下: name val memo a 2 a2(a的第二个值) a 1 a1--a的第一个值 a 3 a3:a的第三个值 b 1 b1--b的第一个值 b 3 b3:b的第三个值 b 2 b2b2b2b2 b 4 b4b4 b 5 b5b5b5b5b5 */ --创建表并插入数据: 复制代码 代码如下: create table tb(name varchar(10),val int,memo varchar(20)

mysql 前几条记录语句之(limit)_Mysql

MySql没有提供top方法.可是他有limit方法提供同样的功能. SELECT * FROM `tfidf` order by weight desc limit 1, 10830 SELECT * FROM `tfidf` order by weight desc limit 10

mysql/Oracle/mssql取前几条数据sql写法

如在ms sqlserver 用此语句:  代码如下 复制代码 select top 2 * from test01 Oracle的语句:  代码如下 复制代码 select * from (select rownum r ,* from test) ttwhere tt.r > 50 and tt.r <= 100; (最好用PLSQL游标来解决) DB2中:  代码如下 复制代码 select * from payment fetch first 5 row only --查前5条记录 

mysql中多级分类存储方式(产品分类,文章分类)

在日常工作中,我们会经常碰到产品分类,文章分类等等修改不频繁的多级分类.通常的做法是类似于这样的结构: 常规做法 如果按照多级查询的话,采用以下sql语句就可以: SELECT t1.name AS lev1, t2.name as lev2, t3.name as lev3, t4.name as lev4 FROM category AS t1 LEFT JOIN category AS t2 ON t2.parent = t1.category_id LEFT JOIN category

WordPress中获取指定分类及其子分类下的文章数目_php实例

获取特定分类文章数  有时候我们想获取某个分类(category)下的文章数目,以便在博客的某个地方显示出来.下面就提供几个获取特定分类的文章数的方法,你可以根据个人喜好选择: 方法一:      将以下PHP代码放置在主题目录下的functions.php中: function wt_get_category_count($input = '') { global $wpdb; if($input == '') { $category = get_the_category(); return