Evropská komise potrestala Google ze skupiny Alphabet pokutou 2,95 miliardy eur (71,9 miliardy Kč) za porušení antimonopolní legislativy. Podle EK, která mimo jiné plní funkci antimonopolního orgánu EU, se Google dopustil protisoutěžních praktik ve svém reklamním byznysu. Google v reakci uvedl, že rozhodnutí považuje za chybné a hodlá se proti němu odvolat. EK ve věci rozhodovala na základě stížnosti Evropské rady vydavatelů. Podle
… více »Podpora 32bitového Firefoxu pro Linux skončí v roce 2026. Poslední podporované 32bitové verze budou Firefox 144 a Firefox 140 s rozšířenou podporou, jehož podpora skončí v září 2026.
Společnost Raspberry Pi nově nabízí Raspberry Pi SSD s kapacitou 1 TB za 70 dolarů.
Microsoft BASIC pro mikroprocesor 6502 byl uvolněn jako open source. Zdrojový kód je k dispozici na GitHubu.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) se připojil k dokumentu „A Shared Vision of Software Bill of Materials (SBOM) for Cybersecurity“, který vydala americká Agentura pro kybernetickou a infrastrukturní bezpečnost (CISA) s Národní bezpečnostní agenturou (NSA), spolu s dalšími mezinárodními partnery. Dokument vznikl v rámci globálního expertního fóra pro SBOM, které má za cíl motivovat k širšímu využívání … více »
Švýcarská AI centra EPFL, ETH Zurich a CSCS představila otevřený vícejazyčný velký jazykový model (LLM) s názvem Apertus. Vyzkoušet lze na stránce Public AI Inference Utility.
Byl vydán Linux Mint 22.2 s kódovým jménem Zara. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze novou XApp aplikaci Fingwit pro autentizaci pomocí otisků prstů nebo vlastní fork knihovny libAdwaita s názvem libAdapta podporující grafická témata. Linux Mint 22.2 bude podporován do roku 2029.
Čínská společnost Tencent uvolnila svůj AI model HunyuanWorld-Voyager pro generování videí 3D světů z jednoho obrázku a určené trajektorie kamery. Licence ale nedovoluje jeho používání na území Evropské unie, Spojeného království a Jižní Koreje.
Blender Studio se spojilo s kapelou OK Go a výsledkem je videoklip k písni Impulse Purchase. Stejně jako samotný 3D software Blender je i ve videoklipu použitý animovaný chlápek open source. Kdokoli si jej může stáhnout a upravovat.
Zig Software Foundation stojící za programovacím jazykem Zig publikovala finanční zprávu za rok 2024. Současně s prosbou o finanční příspěvek.
insert into hodnoty (id,hodnota,datum_od,datum_do) values (1,3.300,'2018-01-01','2019-12-31'), (1,3.600,'2020-01-01','2020-11-31'), (1,3.850,'2021-01-01','2021-12-31'), (1,4.000,'2022-01-01','2022-12-31'), (1,4.350,'2023-01-01','2023-12-31'), (1,4.700,'2024-01-01','3333-03-03'), (2,3.300,'2018-01-01','2019-12-31'), (2,3.600,'2020-01-01','2020-12-31'), (2,3.850,'2021-01-01','2021-12-31'), (2,4.000,'2022-01-01','2022-12-31'); (2,4.350,'2023-01-01','2023-12-31'), (2,4.700,'2024-01-01','3333-03-03'), (3,2.848,'2018-01-01','2018-08-31'), (3,2.943,'2018-09-01','2018-12-31'), (3,3.188,'2019-01-01','2019-12-31'), (3,3.555,'2020-01-01','2020-12-31'), (3,3.819,'2020-12-01','2021-12-31'), (3,3.961,'2022-01-01','2022-12-31'), (3,4.291,'2023-01-01','2023-12-31'), (3,4.597,'2024-01-01','3333-03-03');su v nej id ktore maju urcitu casovu platnost. je mozne priamo v sql zistit, ci sa pre jednotlive id datumove intervaly neprekryvaju(t.j. ci id nema v dany datum viacero moznych hodnot) a zaroven ci nie su v intervaloch medzery(t.z. ci neexistuje datum pre ktory id nema ziadnu hodnotu)? v priklade ako najmensi mozny datum je 2018-01-01 a najvyssi 3333-03-03. pre id=1 napr. chybaju hodnoty pre december 2020. pre id=3 su zase pre interval datumov december 2020 platne 2 hodnoty(3.555 aj 3.819 co je nespravne). je mozne tieto chyby v integrite dat nejako lahko vyselektovat? dakujem.
select * from hodnoty h1 join hodnoty h2 on daterange(h1.datum_od, h1.datum_do, '[]') && daterange(h2.datum_od, h2.datum_do, '[]') and h1.id < h2.id;A jestli něco nechybí můžeš zjistit tak, že porovnáš součty délek intervalů s intervalem (nejmenší datum, největší). V mariadb možná bude potřeba napsat vlastní podmínky na porovnání intervalů, nevím, jestli je tam na to funkce.
with t1 as( select id, datediff(max(datum_do), min(datum_od)) + 1 as celkovy_pocet_dni from hodnoty group by id ), t2 as( select id, sum(datediff(datum_do, datum_od) + 1) as sucet_intervalov from hodnoty group by id ), t3 as ( select t1.id as id, celkovy_pocet_dni - sucet_intervalov as rozdiel from t1 left join t2 on t2.id = t1.id having rozdiel != 0 ) select id, case when rozdiel < 0 then 'duplicita datumov' when rozdiel > 0 then 'chybajuci interval datumov' end as chyba from t3 order by t3.id
(1,1.000,'2018-01-01','2018-12-31'), (1,1.000,'2018-01-01','2018-12-31'), (1,1.000,'2020-01-01','2020-12-31')
-- kontrola ci datum_do nie je mensi ako datum_od select *, datediff(h.datum_do, h.datum_od) as pocet_dni from hodnoty as h having pocet_dni < 0 order by h.id, h.datum_od, h.datum_do; -- kontrola ci intervaly datumov na seba plynulo nadvazuju with t1 as ( select h.id, lag(h.datum_do, 1) over ( PARTITION BY h.id order by h.id, h.datum_od, h.datum_do ) as datum_pred, h.datum_od, h.datum_do, lead(h.datum_od, 1) over ( PARTITION BY h.id order by h.id, h.datum_od, h.datum_do ) as datum_po from hodnoty as h order by h.id, h.datum_od, h.datum_do ) select id, datum_pred, case when datediff(datum_od, datum_pred) is NULL then 'OK' when datediff(datum_od, datum_pred) = 1 then 'OK' else 'CHYBA' end as stav_1, datum_od, datum_do, case when datediff(datum_po, datum_do) is NULL then 'OK' when datediff(datum_po, datum_do) = 1 then 'OK' else 'CHYBA' end as stav_2, datum_po from t1 having stav_1 = 'CHYBA' or stav_2 = 'CHYBA'skusil som to vyriesit pomocou LAG a LEAD. rozdelil som to do dvoch krokov. najskor sa skontroluje ci su v poriadku jednotlive datumove intervaly. a v druhom kroku sa skontroluje ci intervaly pre jednotlive id na seba nadvazuju a neprekryvaju sa. vie mi to niekto skontrolovat ci tam zase nie je nejaka chyba? nejaky pripad pri ktorom by kontrola zlyhala?
select
A.*
,B.*
from hodnoty A
join hodnoty B on A.id = b.id and A.datum_do >= B.datum_od and A.datum_od <= B.datum_do
řešení vychází z následujícího obrázku, který ukazuje možné překryvy
A +----------------+ o x o x o x o x +-----+ +----+ +-----+ B B B
Díry v jistém smyslu jsou problematičtější, protože vždycky budete mít díru. A to na začátku a na konci.
select
A.*
,min(B.datum_od)
from hodnoty A
join hodnoty B on A.id = B.id and A.datum_do < B.datum_od
group by A.*
having A.datum_do + interval '1' day < min(B.datum_od)
Rychlejší řešení děr je pomocí analytických funkcí. Konkrétně funkce LAG a LEAD
SELECT id, hodnota, datum_od, datum_do FROM ( SELECT id, hodnota, datum_od, datum_do, LEAD(datum_od) OVER (PARTITION BY id ORDER BY datum_od) AS next_datum_od FROM hodnoty ) AS t WHERE datum_do >= next_datum_od; SELECT id, hodnota, datum_od, datum_do FROM ( SELECT id, hodnota, datum_od, datum_do, LAG(datum_do) OVER (PARTITION BY id ORDER BY datum_od) AS prev_datum_do FROM hodnoty ) AS t WHERE datum_od > DATE_ADD(prev_datum_do, INTERVAL 1 DAY);
Tiskni
Sdílej: