Hirdetés
- droidic: Saját hálózat, saját szabályok – Építs profi infrastruktúrát!
- gban: Ingyen kellene, de tegnapra
- laca223: Miért győz a kollektív meggyőződés akkor is, ha saját magát teszi tönkre?
- laca223: A civilizáció mint bugos operációs rendszer
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- Brogyi: CTEK akkumulátor töltő és másolatai
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
Ú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
- 3D nyomtatás
- Sorozatok
- droidic: Saját hálózat, saját szabályok – Építs profi infrastruktúrát!
- PlayStation 5
- Víz- gáz- és fűtésszerelés
- TCL LCD és LED TV-k
- Kritikát kapott a Nintendo konzolgyilkos felhasználói szerződése
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- AliExpress tapasztalatok
- Lightyear - befektetési app
- További aktív témák...
- HPE ProLiant ML350 Gen9 Hot Plug 8SFF Rack Szerver
- Csere-Beszámítás! Acer Nitro 5 AN515-57! I7 11800H / RTX 3050Ti / 16GB DDR4 / 512GB Nvme SSD!
- MSI MAG Z590 TOMAHAWK WIFI Alaplap
- GAMER PC! i9-9900K / RTX 3070 Ti / Z390 / 16GB DDR4 / 1TB NVMe / 650w! BeszámítOK
- 27% - Gigabyte RTX 3060 12GB OC DDR6 GAMING Videokártya!
- Akció! Gamer PC-Számítógép! Beszámítás! X870 /R7 7800X3D / RX 9070XT / 32GB DDR5 / 2TB SSD
- Akciós kisWorkstation! Dell Precision 3560 i7-1165G7 4.7GHz / 16GB / 512GB / Quadro T500 2GB FHD 15"
- Apple Mac Studio M2 Ultra 24 magos CPU, 60 magos GPU, 64GB RAM, 1024GB SSD
- Új, Aktiválatlan, iPhone 15 (128 GB) (rendelhető)
- Dell Latitude 5430 - i5-1245U, 16GB RAM, 512GB SSD, jó akku számla, garancia
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

