Heim  >  Artikel  >  Datenbank  >  MySQL 获取所有归类和每个分类的前几条记录

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

WBOY
WBOYOriginal
2016-06-07 16:23:301339Durchsuche

MySQL 获取所有分类和每个分类的前几条记录 比如有文章表 Article(Id,Category,InsertDate) 现在要用SQL找出每种类型中时间最新的前N个数据组成的集合 SELECT A1.*FROM Article AS A1INNER JOIN (SELECT A.Category,A.InsertDateFROM Article AS ALEFT JOIN A

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.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

?

ps: ?@N 就是要取多少条

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Access设计抽奖系统Nächster Artikel:介绍ACCESS中LIKE用法教程