Hirdetés
- Vegyes társaság jött a szombati hardverbuliba
- Százmilliárd dolláros AI-fegyverkezésbe kezdett az Amazon és a Google
- Így tüzelt el százbillió forintot az AI a héten
- Kétféle módon harcol a forró helyzetekkel szemben az ASUS új, M.2-es SSD háza
- Mérföldkő a szilárdtest akkuknál: fontos lépést tett a QuantumScape
- Lítium-ion/Li-ion akkumulátorok
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Videós, mozgóképes topik
- Melyik tápegységet vegyem?
- Hobby elektronika
- AMD Navi Radeon™ RX 9xxx sorozat
- Fejhallgató erősítő és DAC topik
- Milyen processzort vegyek?
- Vegyes társaság jött a szombati hardverbuliba
- TCL LCD és LED TV-k
Új hozzászólás Aktív témák
-
kojakhu
újonc
válasz
kw3v865
#4995
üzenetére
Hali, Lehet erre gondolsz. Addig egy entry egy csoport, amíg a timestamp gap nagyobb nem lesz mint 1 perc. Csoportokban meg lehet N db entry is amíg a gap nem túl nagy.
Ezt így lehet, pl.
Itt az SQLFiddle : [link]
Kód:
Setup:
create table t (dt timestamp);
-- group 1
insert into t values (current_timestamp - interval '10' second);
insert into t values (current_timestamp);
insert into t values (current_timestamp + interval '10' second);
-- group 2
insert into t values (current_timestamp + interval '120' second);
insert into t values (current_timestamp + interval '130' second);
-- group 3
insert into t values (current_timestamp + interval '220' second);
insert into t values (current_timestamp + interval '230' second);
Lekérdezés:
WITH
diffs AS (
SELECT dt
, LAG(dt) OVER (ORDER BY dt) AS prevdt
, LEAD(dt) OVER (ORDER BY dt) AS nextdt
, ROW_NUMBER() OVER (ORDER BY dt) AS rn
FROM t
) -- diffs
, group_gaps_and_flags AS (
SELECT v.*
, dt-prevdt AS prev_gap
, CASE WHEN prevdt IS NULL OR dt-prevdt > interval '1' minute
THEN 'Y'
END AS group_start_flag
, nextdt - dt AS next_gap
, CASE WHEN nextdt IS NULL OR nextdt-dt > interval '1' minute
THEN 'Y'
END AS group_end_flag
, CASE WHEN prevdt IS NULL OR dt-prevdt > interval '1' minute
THEN rn
END AS rn_if_start
FROM diffs AS v
) -- gaps_and_groups
, groups AS (
SELECT v.*
, MAX(rn_if_start) OVER (ORDER BY dt) -- ROWS BETWEEN UNBOUNDED_PRECEEDING AND CURRENT_ROW
AS my_group
FROM group_gaps_and_flags AS v
) -- groups
-- .
-- SELECT * FROM groups; -- separator for testing
-- .
SELECT my_group, MIN(dt), MAX(dt), COUNT(dt)
FROM groups
GROUP BY my_group
ORDER BY my_group
sorry, nem tudom még ezen a fórumon hogy kell kódot beszúrni jól...
Új hozzászólás Aktív témák
- Lítium-ion/Li-ion akkumulátorok
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- S.T.A.L.K.E.R.: Shadow of Chernobyl
- mefistofeles: Az elhízás nem akaratgyengeség!
- Videós, mozgóképes topik
- Kókuszdió: Ryzen ( Zen4 / Zen5) – amikor a „normális működés” magyarázatra szorul
- Samsung Galaxy S23 Ultra - non plus ultra
- Melyik tápegységet vegyem?
- Hobby elektronika
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- További aktív témák...
- DELL PowerEdge R630 rack szerver - 2xE5-2650v3 (20 mag / 40 szál, 2.3/3.0GHz), 32GB RAM, 66921Ft+ÁFA
- -ÚJ- 2x8GB 3600MHz Apacer NOX hűtőbordás DDR4 kitek! GAR/SZÁMLA (a Te nevedre kiállítva)!
- Kingston HyperX Fury Beast 2x8GB 3200MHz DDR4 kit / Beszámítás OK!
- G.SKILL Ripjaws V 2x4GB 3000MHz DDR4 kit
- Dell Latitude 7480 használt laptop eladó
- GYÖNYÖRŰ iPhone 12 Mini 128GB Black -1 ÉV GARANCIA -Kártyafüggetlen, MS4407, 100% Akksi
- Eladó Xiaomi Redmi 15 6/128GB fekete / 12 hó jótállás
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Tablet felvásárlás! Samsung Galaxy Tab S10+, Samsung Galaxy Tab S10 Ultra, Samsung Galaxy Tab S10 FE
- iPhone 12 64GB 100% (1év Garancia)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


