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

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

WBOY
Freigeben: 2016-06-07 16:23:30
Original
1389 Leute haben es durchsucht

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
Nach dem Login kopieren

?

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage