- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Véleményes teszt bizonygatja mennyit ér a Macbook Neo 8 GB RAM-ja
- Windows 11: miért nem vált mindenki?
- Azonnali notebookos kérdések órája
- Vezetékes FEJhallgatók
- Fejhallgató erősítő és DAC topik
- Vezeték nélküli fejhallgatók
- Azonnali alaplapos kérdések órája
- Mégsem lettek annyira pénztárcabarátok az új Intel CPU-k
- Idén lesz tíz éves az AMD Socket AM4 foglalat
Ú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
- BestBuy topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Red Magic 11 Air – vékony házból süvít a szél
- Xbox Series X|S
- Egyéni arckép 2. lépés: ARCKÉPSZERKESZTŐ
- Véleményes teszt bizonygatja mennyit ér a Macbook Neo 8 GB RAM-ja
- Revolut
- LEGO klub
- Windows 11: miért nem vált mindenki?
- Azonnali notebookos kérdések órája
- További aktív témák...
- Erős (HP Omen 17) gamer Laptop! -i9 13900HX, RTX 4090 16gb/175w tgp, 32gb DDR5, 1tb SSD
- riello UPS SDH 3000 - Szünetmentes tápegység - 3000 VA -2U
- Fortinet FortiGate 100E - Tűzfal
- Ruckus ZoneFlex 7363 - Access point - hozzáférési pont - Több db
- 2TB - 2,5" SAS - HDD - HP MM2000JEFRC 2Tb HDD - új dobozos
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- iPhone 15 Pro 128GB Blue Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS4589
- Dell USB-C dokkolók: (K20A) WD19/ WD19S/ WD19DC + 130W, 180W, 240W töltők
- HIBÁTLAN iPhone 12 Pro Max 128GB Pacific Blue -1 ÉV GARANCIA - Kártyafüggetlen, 100% Akkumulátor
- Telefon felvásárlás! Samsung Galaxy A15, Samsung Galaxy A25, Samsung Galaxy A35, Samsung Galaxy A55
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

