«window-functions» 태그된 질문

결과 집합을 분할하고 해당 파티션의 데이터를 롤업하지 않고 해당 파티션 내에서 무언가를 계산하는 함수입니다.

6
윈도우 함수를 사용한 날짜 범위 롤링 합계
날짜 범위에 대한 롤링 합계를 계산해야합니다. 예를 들어 AdventureWorks 샘플 데이터베이스 를 사용하면 다음과 같은 가상 구문이 필요한 것을 정확하게 수행합니다. SELECT TH.ProductID, TH.TransactionDate, TH.ActualCost, RollingSum45 = SUM(TH.ActualCost) OVER ( PARTITION BY TH.ProductID ORDER BY TH.TransactionDate RANGE BETWEEN INTERVAL 45 DAY PRECEDING AND CURRENT ROW) FROM Production.TransactionHistory AS TH ORDER …

2
MySQL과 창 함수
MySQL창 기능을 지원하지 않는 것 같습니다 . 예를 들어 간단합니다 : COUNT(*) OVER() AS cnt작동하지 않습니다. 확실하지 않은 것은 이것이 상용 버전에도 적용되는지 여부입니다 (커뮤니티 버전이 제한된 하위 집합이라고 가정합니다). 그렇지 않은 경우이 누락 된 기능을 어떻게 해결합니까?

4
결과를 처음 2 개의 순위 행으로 제한
SQL Server 2008에서는 RANK() OVER (PARTITION BY Col2 ORDER BY Col3 DESC)로 데이터 세트를 반환하는 데 사용하고 RANK있습니다. 그러나 각 파티션마다 수백 개의 레코드가 있으므로 순위 1, 2, 3 ...... 999에서 값을 가져옵니다. 하지만 RANKs각각 최대 2 개만 원합니다 PARTITION. 예: ID Name Score Subject 1 Joe 100 Math 2 …

4
OVER를 사용하여 창 기능에서 DISTINCT 사용
Oracle에서 SQL Server 2014로 쿼리를 마이그레이션하려고합니다. 다음은 Oracle에서 잘 작동하는 쿼리입니다. select count(distinct A) over (partition by B) / count(*) over() as A_B from MyTable 다음은 SQL Server 2014 에서이 쿼리를 실행하려고 시도한 후에 발생한 오류입니다. Use of DISTINCT is not allowed with the OVER clause 문제가 무엇인지 아는 사람이 …


1
이전 행까지의 누계
윈도우 기능에 대한 도움이 필요합니다. 창 내 합계와 창 내 누적 합계를 계산할 수 있다는 것을 알고 있습니다. 그러나 이전 누적 합계, 즉 현재 행을 포함하지 않는 누적 합계를 계산할 수 있습니까? ROW또는 RANGE인수 를 사용해야한다고 가정합니다 . CURRENT ROW옵션이 있지만을 (를) 알고 싶습니다 CURRENT ROW - 1. 이는 유효하지 …

7
그룹화 또는 창
창 기능을 사용하여 해결할 수 있다고 생각되는 상황이 있지만 확실하지 않습니다. 다음 표를 상상해보십시오 CREATE TABLE tmp ( date timestamp, id_type integer ) ; INSERT INTO tmp ( date, id_type ) VALUES ( '2017-01-10 07:19:21.0', 3 ), ( '2017-01-10 07:19:22.0', 3 ), ( '2017-01-10 07:19:23.1', 3 ), ( '2017-01-10 07:19:24.1', …



2
가장 긴 연속 시퀀스 선택
PostgreSQL 9.0에서 특정 열에 대해 가장 긴 연속 행 시퀀스를 가져 오는 쿼리를 작성하려고합니다. 다음 표를 고려하십시오. lap_id (serial), lap_no (int), car_type (enum), race_id (int FK) lap_no각각 고유 한 곳 은 어디입니까 (race_id, car_type)? 주어진 race_id및에 대해 가장 긴 시퀀스를 생성하기 위해 쿼리를 원 car_type하므로 int가장 높은 (또는 긴) 반환합니다 …





1
Lead 및 Lag 값을 얻기 위해 Join 및 Window 함수 사용 간의 성능 비교
나는 20M 행이있는 테이블이 있고, 각 행 3 열이 있습니다 time, id하고 value. 각각의 경우 id와 time하는 존재 value상태에 대한. 특정 time에 대한 특정 리드 및 지연 값을 알고 싶습니다 id. 이것을 달성하기 위해 두 가지 방법을 사용했습니다. 한 가지 방법은 join을 사용하고 다른 방법은 clustered index on time및 창 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.