SQL Server는 그룹의 최대값, 최소값, 최대값에 해당하는 시간, 최소값에 해당하는 시간을 찾습니다.

jacklove
풀어 주다: 2023-03-25 17:10:02
원래의
4356명이 탐색했습니다.

이 글에서는 그룹화최대값, 최소값, 최대값 해당 시간, 최소값 해당 시간을 찾기 위한 SQL Server 관련 지식을 설명합니다.

먼저 학생 테이블을 만듭니다

CREATE TABLE [dbo].[Students](
[Id] [int] IDENTITY(1,1) NOT NULL,
[age] [int] NULL,
[name] [nvarchar ] (50) NULL,
[addTime] [datetime] NULL
) ON [PRIMARY]

여러 테스트 데이터 조각 삽입

INSERT [dbo].[학생] ([나이], [이름], [ addTime] ) VALUES (22, N'李思', '2015-04-08 01:00:00.000')
INSERT [dbo].[학생] ([나이], [이름], [addTime]) VALUES ( 8, N'李思', '2017-05-03 00:00:00.000')
INSERT [dbo].[학생] ([나이], [이름], [추가시간]) VALUES (98, N'lee思' , '2017-10-03 00:00:00.000')
INSERT [dbo].[학생] ([나이], [이름], [추가시간]) VALUES (34, N'张三', '2016 -09 -08 00:00:00.000')
INSERT [dbo].[학생] ([나이], [이름], [추가시간]) VALUES (45, N'张三','2011-05-08 00 :00 :00.000')
INSERT [dbo].[학생] ( [나이], [이름], [추가시간]) VALUES (5, N'张三', '2014-04-01 00:00:00.000' )

첫 번째 작성 방법:

이 작성 방법은 창 함수 를 사용합니다. 창 함수의 동작 설명은 함수의 OVER 절에 나타나며 세 가지 핵심 요소가 포함됩니다. 파티셔닝 및 정렬 및 framework

고유한 이름 선택,
maxAge, max(case maxAgenum when 1 then addtime else '' end) over(partition by name) maxAddTime ,
minage,max(case minAgenum when 1 then addtime else '' end) over(파티션별 이름) minAddTime
from (
이름 선택,addtime,
max(age) over(파티션별 이름) maxAge,
min(age) over(파티션별 이름) minAge,
RANK() over(나이별 이름별 파티션 순서 desc) maxAgeNum ,
RANK() over(이름별 파티션 나이별 순서 ) minAgeNum from Students
) s

두 번째 작성 방법:

with s as
(
이름 선택,max (나이) maxAge ,min(age) minAge from 학생
그룹별 이름
)
이름 선택,max(maxAge) maxAge,max(maxAgeTime) maxAgeTime,max(minAge) minAge,max(minAgeTime) minAgeTime from (
select ss .name,s .maxAge,ss.addTime maxAgeTime,0 minAge, '' minAgeTime from 학생 ss 내부 조인 s on ss.name=s.name 및 ss.age=s.maxAge
union all
select ss.name ,0 maxAge , '' maxAgeTime,s.minAge minAge,ss.addTime minAgeTime from 학생 ss 내부 조인 s on ss.name=s.name 및 ss.age=s.minAge
) 이름별 그룹

이 SQL Server 최대 그룹화 값, 최소값, 최대값 해당 시간, 최소값 해당 시간에 대해 설명되어 있습니다. 더 많은 학습 자료를 보려면 php 중국어 웹사이트를 참고하세요.

관련 권장 사항:

왼쪽 조인 켜기와 where 조건 배치에 대한 관련 설명

php+mysql 퍼지 쿼리 기능에 대한 관련 지식

php를 통해 파일을 복사하고 이동하는 방법

위 내용은 SQL Server는 그룹의 최대값, 최소값, 최대값에 해당하는 시간, 최소값에 해당하는 시간을 찾습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿