Hirdetés
- Apróbb változással jön a Pixel 11 az első képek szerint
- Nincs Nothing AI szemüveg? Fogd meg a söröm!
- Megérkezett a Google Pixel 7 és 7 Pro
- Google Pixel topik
- Honor 200 Pro - mobilportré
- Így lehet kiszúrni, ha kamu AirPods fülest akarnak eladni neked
- Drasztikus változást mutat a Sony mobilja az első képeken
- Samsung Galaxy Watch6 Classic - tekerd!
- Xiaomi 14T - nem baj, hogy nem Pro
- Hivatalos a OnePlus 13 startdátuma
Ú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
- Samsung Galaxy Felhasználók OFF topicja
- Jövedelem
- Genshin Impact (PC, PS4, Android, iOS)
- Apróbb változással jön a Pixel 11 az első képek szerint
- PlayStation 4
- PSti: Total Commander - Memória duplázás!
- Egyre több tényező hajtja felfelé az árakat, és hol van még a vége?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Nincs Nothing AI szemüveg? Fogd meg a söröm!
- Allegro vélemények - tapasztalatok
- További aktív témák...
- LENOVO X380 Yoga 360 touch - 13,3" FHD - i5 8250U, 8GB RAM, SSD, jó akku, - számla, 6 hó gar
- HP Probook 470 G5 (Intel Core i5-8250U 4 mag 8 szál, 17.,3" FullHD) több darab, akár 24.990Ft
- HP Probook 430 G7 (Intel Core i5-10210U 4 mag 8 szál, 13,3" FullHD) több darab, akár 24.990Ft
- Samsung A 56 5G telefon
- LENOVO LOQ 15ARP9 - RYZEN 7 7435HS / RTX4050 / 24GB RAM / 512G NVMe / 15,6 FHD IPS 144Hz (bontatlan)
- Apple iPhone 16 Plus 128GB Ultramarine használt, karcmentes 96% akku (266 ciklus) 6 hónap gar
- DDR4 Szerver RAM felvásárlás - napi árak, elsősorban nagy mennyiségben
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 14 Pro 128GB Space Black-1 ÉV GARANCIA - Kártyafüggetlen, MS4420, 100% Akksi
- ÚJ HP EliteBook 6 G1a Ryzen 5 PRO 230 4.9GHz 16GB DDR5 1TB FHD+ 16:10 már jobbik kijelző, gar 2028
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

