Maison base de données tutoriel mysql 每个分类取最新的几条的SQL实现代码

每个分类取最新的几条的SQL实现代码

Jun 07, 2016 pm 06:07 PM
分类

每个分类取最新的几条的SQL实现代码,需要的朋友可以参考下

CREATE TABLE table1( [ID] [bigint] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](128) NOT NULL, [class] int not null, [date] datetime not null)class 表示分类编号。 分类数不固定, 至少有上千种分类
date 表示该条记录被更新的时间
我们现在想获得每个分类最新被更新的5条记录。
解决方案
select id,name,class,date from(select id,name,class,date ,row_number() over(partition by class order by date desc)as rowindex from table1) awhere rowindex create table #temp
(
company varchar(50),
product varchar(50),
inputDate datetime
)
insert into #temp(company,product,inputDate) values('杭州大明有限公司','汽车1','2010-8-1')
insert into #temp(company,product,inputDate) values('杭州大明有限公司','汽车2','2010-8-1')
insert into #temp(company,product,inputDate) values('杭州大明有限公司','汽车3','2010-8-1')
insert into #temp(company,product,inputDate) values('杭州大明有限公司','汽车4','2010-8-1')
insert into #temp(company,product,inputDate) values('杭州大明有限公司','汽车5','2010-7-1')
insert into #temp(company,product,inputDate) values('北京小科有限公司','汽车1','2010-8-1')
insert into #temp(company,product,inputDate) values('北京小科有限公司','汽车2','2010-8-1')
insert into #temp(company,product,inputDate) values('北京小科有限公司','汽车3','2010-8-1')
insert into #temp(company,product,inputDate) values('北京小科有限公司','汽车4','2010-8-1')
insert into #temp(company,product,inputDate) values('上海有得有限公司','汽车1','2010-8-1')
insert into #temp(company,product,inputDate) values('上海有得有限公司','汽车2','2010-8-1')
insert into #temp(company,product,inputDate) values('上海有得有限公司','汽车3','2010-8-1')
insert into #temp(company,product,inputDate) values('上海有得有限公司','汽车4','2010-8-1')
insert into #temp(company,product,inputDate) values('天津旺旺有限公司','汽车4','2010-8-1')
insert into #temp(company,product,inputDate) values('天津旺旺有限公司','汽车5','2010-8-1')
select * from #temp
create proc getdata
@num int
as
begin
select top 4 * from
(
select ( select count(*) from #temp where company=a.company and productfrom #temp a
) b
where 序号>=@num
order by 序号,inputDate desc
end
go
getdata 2
/*
结果
1 杭州大明有限公司 汽车1 2010-08-01 00:00:00.000
1 北京小科有限公司 汽车1 2010-08-01 00:00:00.000
1 上海有得有限公司 汽车1 2010-08-01 00:00:00.000
1 天津旺旺有限公司 汽车4 2010-08-01 00:00:00.000
2 天津旺旺有限公司 汽车5 2010-08-01 00:00:00.000
2 上海有得有限公司 汽车2 2010-08-01 00:00:00.000
2 北京小科有限公司 汽车2 2010-08-01 00:00:00.000
2 杭州大明有限公司 汽车2 2010-08-01 00:00:00.000
3 杭州大明有限公司 汽车3 2010-08-01 00:00:00.000
3 北京小科有限公司 汽车3 2010-08-01 00:00:00.000
3 上海有得有限公司 汽车3 2010-08-01 00:00:00.000
4 北京小科有限公司 汽车4 2010-08-01 00:00:00.000
4 北京小科有限公司 汽车4 2010-08-01 00:00:00.000
4 上海有得有限公司 汽车4 2010-08-01 00:00:00.000
4 杭州大明有限公司 汽车4 2010-08-01 00:00:00.000
5 杭州大明有限公司 汽车5 2010-07-01 00:00:00.000
*/
--sql2005
create proc getdata2005
@num int
as
begin
select top 4 * from
(
select row_number() over (partition by company order by product ) as 序号,a.company,a.product,a.inputDate
from #temp a
) b
where 序号>=@num
order by 序号,inputDate desc
end
getdata2005 4
select * from #temp
select ( select count(*) from #temp where company+ product,a.company+a.product as 唯一标志一行
from #temp a
order by company,product
代码如下:
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->if object_id(N'company') is not null
drop table company
go
create table company
(
companyname varchar(2),
product varchar(60)
)
--公司1
insert into company
select 'A','A1' union
select 'A','A2' union
select 'A','A3' union
select 'A','A4' union
select 'A','A5' union
select 'A','A6' union
select 'A','A7' union
select 'A','A8' union
select 'A','A9' union
select 'A','A10'
--公司2
insert into company
select 'B','B1' union
select 'B','B2' union
select 'B','B3' union
select 'B','B4' union
select 'B','B5' union
select 'B','B6' union
select 'B','B7' union
select 'B','B8' union
select 'B','B9' union
select 'B','B10'
--公司3
insert into company
select 'C','C1' union
select 'C','C2' union
select 'C','C3' union
select 'C','C4' union
select 'C','C5' union
select 'C','C6' union
select 'C','C7' union
select 'C','C8' union
select 'C','C9' union
select 'C','C10'
--公司4
insert into company
select 'D','D1' union
select 'D','D2' union
select 'D','D3' union
select 'D','D4' union
select 'D','D5' union
select 'D','D6' union
select 'D','D7' union
select 'D','D8' union
select 'D','D9' union
select 'D','D10'
--公司5
insert into company
select 'E','E1' union
select 'E','E2' union
select 'E','E3' union
select 'E','E4' union
select 'E','E5' union
select 'E','E6' union
select 'E','E7' union
select 'E','E8' union
select 'E','E9' union
select 'E','E10'
--公司6
insert into company
select 'F','F1' union
select 'F','F2' union
select 'F','F3' union
select 'F','F4' union
select 'F','F5' union
select 'F','F6' union
select 'F','F7' union
select 'F','F8' union
select 'F','F9' union
select 'F','F10'
--公司7
insert into company
select 'G','G1' union
select 'G','G2' union
select 'G','G3' union
select 'G','G4' union
select 'G','G5' union
select 'G','G6' union
select 'G','G7' union
select 'G','G8' union
select 'G','G9' union
select 'G','G10'
--公司8
insert into company
select 'H','H1' union
select 'H','H2' union
select 'H','H3' union
select 'H','H4' union
select 'H','H5' union
select 'H','H6' union
select 'H','H7' union
select 'H','H8' union
select 'H','H9' union
select 'H','H10'
--公司9
insert into company
select 'I','I1' union
select 'I','I2' union
select 'I','I3' union
select 'I','I4' union
select 'I','I5' union
select 'I','I6' union
select 'I','I7' union
select 'I','I8' union
select 'I','I9' union
select 'I','I10'
--公司10
insert into company
select 'J','J1' union
select 'J','J2' union
select 'J','J3' union
select 'J','J4' union
select 'J','J5' union
select 'J','J6' union
select 'J','J7' union
select 'J','J8' union
select 'J','J9' union
select 'J','J10'
IF (select Object_id('Tempdb..#t')) IS NULL
select identity(int,1,1) as id,* into #t from company
order by left(product,1),cast(substring(product,2,2) as int)
if object_id(N'getdata','P') is not null
drop table getdata
go
create proc getdata
@num1 int --第几页
as
begin
select companyname,product from
(
select row_number() over (partition by companyname order by id) as 序号,*
from #t
) a
where 序号=@num1
order by companyname
end
go
getdata 4
go
DROP procedure getdata
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Analyser l'utilisation et la classification des commentaires JSP Analyser l'utilisation et la classification des commentaires JSP Feb 01, 2024 am 08:01 AM

Classification et analyse de l'utilisation des commentaires JSP Les commentaires JSP sont divisés en deux types : commentaires sur une seule ligne : se terminant par, une seule ligne de code peut être commentée. Commentaires multilignes : commençant par /* et se terminant par */, vous pouvez commenter plusieurs lignes de code. Exemple de commentaire sur une seule ligne Exemple de commentaire sur plusieurs lignes/**Ceci est un commentaire sur plusieurs lignes*Peut commenter plusieurs lignes de code*/Utilisation des commentaires JSP Les commentaires JSP peuvent être utilisés pour commenter le code JSP afin de le rendre plus facile à lire

Quelles sont les classifications de l'intelligence artificielle ? Quelles sont les classifications de l'intelligence artificielle ? Feb 19, 2021 am 11:22 AM

La classification de l’intelligence artificielle comprend l’IA cognitive, l’IA d’apprentissage automatique et l’apprentissage profond. L'intelligence artificielle est une nouvelle science technique qui étudie et développe des théories, des méthodes, des technologies et des systèmes d'application pour simuler, étendre et développer l'intelligence humaine.

Comment utiliser les réseaux de neurones pour la classification en Python ? Comment utiliser les réseaux de neurones pour la classification en Python ? Jun 04, 2023 pm 10:40 PM

Lorsqu’il s’agit de classer de grandes quantités de données, le traitement manuel de ces données est une tâche très longue et difficile. Dans ce cas, la classification à l’aide de réseaux de neurones peut effectuer le travail rapidement et facilement. Python est un bon choix car il possède de nombreuses bibliothèques de réseaux neuronaux matures et faciles à utiliser. Cet article expliquera comment utiliser les réseaux de neurones pour la classification en Python. Réseaux de neurones et classification Avant d'expliquer comment utiliser les réseaux de neurones pour la classification, nous devons comprendre brièvement le concept de réseaux de neurones. Le réseau neuronal est un

Comment utiliser le modèle de mélange gaussien pour la classification en Python ? Comment utiliser le modèle de mélange gaussien pour la classification en Python ? Jun 04, 2023 am 10:10 AM

Cet article présentera les concepts de base et les méthodes de mise en œuvre de l'utilisation de modèles de mélange gaussien pour la classification en Python. Qu'est-ce qu'un modèle de mélange gaussien ? Le modèle de mélange gaussien (GMM) est un modèle de clustering courant, composé de plusieurs distributions gaussiennes lors de la classification des données, ces distributions gaussiennes sont utilisées pour modéliser les données et déterminer chaque distribution de manière adaptative. Le principe de base du GMM Le principe de base du GMM est de traiter l'ensemble de données comme un groupe de multiples distributions gaussiennes

Explication détaillée de la classification des fichiers journaux du système Linux Explication détaillée de la classification des fichiers journaux du système Linux Feb 26, 2024 pm 02:33 PM

Les fichiers journaux du système Linux sont des fichiers importants qui enregistrent diverses informations générées pendant le fonctionnement du système. En analysant les fichiers journaux, nous pouvons nous aider à comprendre l'état de fonctionnement, le dépannage et l'optimisation des performances du système. Cet article explorera en profondeur la classification et les fonctions des fichiers journaux du système Linux et les combinera avec des exemples de code spécifiques pour aider les lecteurs à mieux comprendre. 1. Classification des fichiers journaux du système Linux 1. Journal système Le journal système est un fichier journal qui enregistre les événements importants tels que le démarrage, l'arrêt du système, la connexion de l'utilisateur et l'arrêt. Dans le système Linux

Exemple de classification d'images en Python Exemple de classification d'images en Python Jun 10, 2023 pm 03:43 PM

Python est un langage de programmation largement utilisé et très apprécié en vision par ordinateur et en traitement d’images. Dans cet article, nous explorerons des exemples de classification d'images en Python. La classification d'images est une tâche fondamentale en vision par ordinateur qui consiste à identifier des objets ou des scènes dans des images. Cet article présentera comment utiliser le framework d'apprentissage profond Keras en Python pour implémenter la formation et la prédiction de modèles de classification d'images. Préparation Avant de procéder à la classification des images, nous devons installer les logiciels nécessaires. Vous trouverez ci-dessous une liste des packages nécessaires

Révéler la classification des types de données de base dans les langages de programmation traditionnels Révéler la classification des types de données de base dans les langages de programmation traditionnels Feb 18, 2024 pm 10:34 PM

Titre : Types de données de base révélés : Comprendre les classifications dans les langages de programmation grand public Texte : Dans divers langages de programmation, les types de données sont un concept très important, qui définit les différents types de données qui peuvent être utilisés dans les programmes. Pour les programmeurs, comprendre les types de données de base dans les langages de programmation traditionnels est la première étape pour construire une base de programmation solide. Actuellement, la plupart des principaux langages de programmation prennent en charge certains types de données de base, qui peuvent varier d'un langage à l'autre, mais les concepts principaux sont similaires. Ces types de données de base sont généralement divisés en plusieurs catégories, dont les entiers

Un guide pour entraîner des modèles de classification d'images à l'aide de TensorFlow Un guide pour entraîner des modèles de classification d'images à l'aide de TensorFlow Apr 13, 2023 pm 05:13 PM

Traducteur | Révisé par Chen Jun | Sun Shujuan Comme nous le savons tous, les humains apprennent à identifier et à étiqueter les choses qu'ils voient dès leur plus jeune âge. De nos jours, grâce à l’itération continue des algorithmes d’apprentissage automatique et d’apprentissage profond, les ordinateurs sont capables de classer les images capturées à grande échelle avec une très grande précision. Actuellement, les scénarios d'application de ces algorithmes avancés comprennent : l'interprétation des images de scanner pulmonaire pour déterminer si elles sont saines, la reconnaissance faciale via des appareils mobiles et la distinction de différents types d'objets de consommation pour les détaillants. Ci-dessous, je vais discuter avec vous d'une application de vision par ordinateur - classification d'images, et montrer étape par étape comment utiliser TensorFlow pour entraîner un modèle sur un petit ensemble de données d'image.

See all articles