데이터 베이스 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
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

JSP 주석의 용도 및 분류 분석 JSP 주석의 용도 및 분류 분석 Feb 01, 2024 am 08:01 AM

JSP 주석 분류 및 활용 분석 JSP 주석은 두 가지 유형으로 구분됩니다. 한 줄 주석: 로 끝나는 코드로 한 줄만 주석을 달 수 있습니다. 여러 줄 주석: /*로 시작하고 */로 끝나는 경우 여러 줄의 코드에 주석을 달 수 있습니다. 한 줄 주석 예 여러 줄 주석 예/**여러 줄 주석입니다*여러 줄의 코드에 주석을 달 수 있습니다*/JSP 주석 사용 JSP 주석을 사용하여 JSP 코드에 주석을 달면 읽기 쉬워집니다.

인공지능은 어떻게 분류되나요? 인공지능은 어떻게 분류되나요? Feb 19, 2021 am 11:22 AM

인공지능의 분류에는 인지 AI, 머신러닝 AI, 딥러닝이 있습니다. 인공지능(Artificial Intelligence)은 인간 지능을 시뮬레이션, 확장, 확장하기 위한 이론, 방법, 기술 및 응용 시스템을 연구하고 개발하는 새로운 기술 과학입니다.

Python에서 분류를 위해 신경망을 사용하는 방법은 무엇입니까? Python에서 분류를 위해 신경망을 사용하는 방법은 무엇입니까? Jun 04, 2023 pm 10:40 PM

대량의 데이터를 분류할 때 이 데이터를 수동으로 처리하는 것은 매우 시간이 많이 걸리고 어려운 작업입니다. 이 경우 분류를 위해 신경망을 사용하면 빠르고 쉽게 작업을 수행할 수 있습니다. Python에는 성숙하고 사용하기 쉬운 신경망 라이브러리가 많이 있으므로 좋은 선택입니다. 이 기사에서는 Python에서 분류를 위해 신경망을 사용하는 방법을 소개합니다. 신경망 및 분류 분류에 신경망을 사용하는 방법을 설명하기 전에 신경망의 개념을 간략하게 이해할 필요가 있습니다. 신경망은

Python에서 분류를 위해 가우스 혼합 모델을 사용하는 방법은 무엇입니까? Python에서 분류를 위해 가우스 혼합 모델을 사용하는 방법은 무엇입니까? Jun 04, 2023 am 10:10 AM

이 기사에서는 Python에서 분류를 위해 가우스 혼합 모델을 사용하는 기본 개념과 구현 방법을 소개합니다. 가우스 혼합 모델이란 무엇입니까? GMM(Gaussian Mixture Model)은 여러 개의 가우스 분포로 구성된 일반적인 클러스터링 모델입니다. 데이터를 분류할 때 이러한 가우스 분포를 사용하여 데이터를 모델링하고 각 분포를 적응적인 방식으로 결정합니다. GMM의 기본 원리 GMM의 기본 원리는 데이터 세트를 여러 가우스 분포 그룹으로 처리하는 것입니다.

Linux 시스템 로그 파일 분류에 대한 자세한 설명 Linux 시스템 로그 파일 분류에 대한 자세한 설명 Feb 26, 2024 pm 02:33 PM

Linux 시스템 로그 파일은 시스템 작동 중에 발생하는 다양한 정보를 기록하는 중요한 파일입니다. 로그 파일을 분석함으로써 시스템의 작동 상태, 문제 해결 및 성능 최적화를 이해하는 데 도움을 줄 수 있습니다. 이 기사에서는 Linux 시스템 로그 파일의 분류 및 기능을 심층적으로 살펴보고 이를 특정 코드 예제와 결합하여 독자의 이해를 돕습니다. 1. Linux 시스템 로그 파일의 분류 1. 시스템 로그 시스템 로그는 시스템 시작, 종료, 사용자 로그인, 종료 등 중요한 이벤트를 기록하는 로그 파일입니다. 리눅스 시스템에서

Python의 이미지 분류 예 Python의 이미지 분류 예 Jun 10, 2023 pm 03:43 PM

Python은 컴퓨터 비전 및 이미지 처리 분야에서 널리 사용되는 프로그래밍 언어입니다. 이 기사에서는 Python의 이미지 분류 예제를 살펴보겠습니다. 이미지 분류는 이미지에서 객체나 장면을 식별하는 것과 관련된 컴퓨터 비전의 기본 작업입니다. 이 기사에서는 Python의 딥 러닝 프레임워크인 Keras를 사용하여 이미지 분류 모델의 훈련 및 예측을 구현하는 방법을 소개합니다. 준비 이미지 분류를 진행하기 전에 필요한 소프트웨어 패키지를 설치해야 합니다. 아래는 필요한 패키지 목록입니다

주류 프로그래밍 언어의 기본 데이터 유형 분류 공개 주류 프로그래밍 언어의 기본 데이터 유형 분류 공개 Feb 18, 2024 pm 10:34 PM

제목: 공개된 기본 데이터 유형: 주류 프로그래밍 언어의 분류 이해 텍스트: 다양한 프로그래밍 언어에서 데이터 유형은 프로그램에서 사용할 수 있는 다양한 데이터 유형을 정의하는 매우 중요한 개념입니다. 프로그래머의 경우 주류 프로그래밍 언어의 기본 데이터 유형을 이해하는 것이 견고한 프로그래밍 기반을 구축하는 첫 번째 단계입니다. 현재 대부분의 주요 프로그래밍 언어는 일부 기본 데이터 유형을 지원하며 이는 언어마다 다를 수 있지만 주요 개념은 유사합니다. 이러한 기본 데이터 유형은 일반적으로 정수를 포함하여 여러 범주로 나뉩니다.

TensorFlow를 사용한 이미지 분류 모델 학습 가이드 TensorFlow를 사용한 이미지 분류 모델 학습 가이드 Apr 13, 2023 pm 05:13 PM

번역자 | Chen Jun 리뷰 | Sun Shujuan 우리 모두 알고 있듯이 인간은 아주 어린 나이에 자신이 보는 것을 식별하고 라벨을 붙이는 법을 배웁니다. 오늘날 머신러닝과 딥러닝 알고리즘이 지속적으로 반복되면서 컴퓨터는 캡처한 이미지를 대규모로 매우 정확하게 분류할 수 있게 되었습니다. 현재 이러한 고급 알고리즘의 적용 시나리오에는 폐 스캔 이미지를 해석하여 건강한지 확인하고, 모바일 장치를 통해 얼굴 인식을 수행하고, 소매업체를 위한 다양한 유형의 소비자 개체를 구별하는 작업이 포함됩니다. 아래에서는 컴퓨터 비전의 응용(이미지 분류)에 대해 논의하고 TensorFlow를 사용하여 작은 이미지 데이터 세트에서 모델을 훈련하는 방법을 단계별로 보여줍니다.

See all articles