Hirdetés
- Doky586: SecureBoot kulcsok frissítése (2026 nyara)
- Luck Dragon: Asszociációs játék. :)
- talmida: My Art II.
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- sziku69: Fűzzük össze a szavakat :)
- Geri Bátyó: Agglegénykonyha 13 – Néhány egyszerű, de finom étel
- sziku69: Szólánc.
- caprine: Snowrunner játék manuális tuning lehetőségei
- D@reeo: Pi-hole és a Telekom Sagemcom F@st 5670 DNS beállítása
- eBay-es kütyük kis pénzért
Ú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
- One otthoni szolgáltatások (TV, internet, telefon)
- Kész rémálom lesz Linuxot használni jövőre az USA egyes államaiban
- A fociról könnyedén, egy baráti társaságban
- Házimozi haladó szinten
- Okos Otthon / Smart Home
- Xbox Series X|S
- Proxmox VE
- Mini PC
- Fejhallgató erősítő és DAC topik
- OLED TV topic
- További aktív témák...
- HP ProBook 6560b, 15,6" HD+, i5-2520M CPU, 8GB DDR3, 500GB HDD, W10, Számla, garancia ( olvasd végi
- Lenovo Thinkpad L450, 14" HD, i3-5005U CPU, 8GB DDR3, 128GB SSD, W11, Számla, 1 év garancia ( olvas
- HP ProBook 650 G2 15,6" FHD, i5-6200 CPU, 8GB DDR4, 256GB SSD, W11, Számla, 1 év garancia ( olvasd
- Dell Latitude 5490, 14" FHD IPS, i5-7300U CPU, 8GB DDR4, 256GB SSD, W11, Számla, 1 év garancia ( ol
- Dell Latitude 7320 Carbon /i5-1145G7/16GB/256GB SSD/13.3" FHD laptop
- GameSir G7 Pro Zenless Zone Zero Univerzális Bluetooth játékkontroller Xbox / PC / Android
- GYÖNYÖRŰ iPhone 13 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS4418
- Apple iPhone 15 / 128GB / Kártyafüggetlen / 12Hó Garancia / Akku:87%
- Apple iPhone 14 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- LG 65C4 - 65" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - 1000 Nits
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
