Byla vydána beta verze Linux Mintu 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.
Provozovatel internetové encyklopedie Wikipedie prohrál v Británii soudní spor týkající se některých částí nového zákona o on-line bezpečnosti. Soud ale varoval britského regulátora Ofcom i odpovědné ministerstvo před zaváděním přílišných omezení. Legislativa zpřísňuje požadavky na on-line platformy, ale zároveň čelí kritice za možné omezování svobody slova. Společnost Wikimedia Foundation, která je zodpovědná za fungování
… více »Byla vydána verze 2.0.0 nástroje pro synchronizaci dat mezi vícero počítači bez centrálního serveru Syncthing (Wikipedie). Přehled novinek na GitHubu.
Americký prezident Donald Trump se v pondělí osobně setkal s generálním ředitelem firmy na výrobu čipů Intel Lip-Bu Tanem. Šéfa podniku označil za úspěšného, informují agentury. Ještě před týdnem ho přitom ostře kritizoval a požadoval jeho okamžitý odchod. Akcie Intelu v reakci na schůzku po oficiálním uzavření trhu zpevnily asi o tři procenta.
Byl vydán Debian GNU/Hurd 2025. Jedná se o port Debianu s jádrem Hurd místo obvyklého Linuxu.
V sobotu 9. srpna uplynulo přesně 20 let od oznámení projektu openSUSE na konferenci LinuxWorld v San Franciscu. Pokuď máte archivní nebo nějakým způsobem zajímavé fotky s openSUSE, můžete se o ně s námi podělit.
Byl vydán Debian 13 s kódovým názvem Trixie. Přehled novinek v poznámkách k vydání.
WLED je open-source firmware pro ESP8266/ESP32, který umožňuje Wi-Fi ovládání adresovatelných LED pásků se stovkami efektů, synchronizací, audioreaktivním módem a Home-Assistant integrací. Je založen na Arduino frameworku.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.8.
Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.
+----+------------+----------+----------+ | id | product_id | group_id | price | +----+------------+----------+----------+ | 61 | 3 | 0 | 100.00 | | 62 | 3 | 2 | 100.00 | | 6 | 4 | 0 | 10000.00 | +----+------------+----------+----------+A jde mi zde o sloupec group_id. Potřeboval bych z této tabulky dostat takové řádky, že pokud bude obsahovat pro jeden product_id jak řádek s group_id=0, tak i s group_id=2, tak aby mi to vrátilo řádek s group_id=2, ale pokud pro daný product_id bude jenom group_id=0, tak aby mi to vrátilo řádek s group_id=0. Zkoušel jsem už různé možnosti, ale nějak se mi nedaří přijít na to jak definovat WHERE podmínku. Předem děkuji za rady.
SELECT id, product_id, group_id, price FROM tabulka WHERE group_id=2 OR (group_id=0 AND NOT group_id=2)a toto mi to vyplivne:
+----+------------+----------+--------+ | id | product_id | group_id | price | +----+------------+----------+--------+ | 61 | 3 | 0 | 100.00 | | 62 | 3 | 2 | 100.00 | +----+------------+----------+--------+
-- existuje pouze radek s group_id = 0
select * from tabulka t
where group_id = 0
and not exists ( select 0 from tabulka
where product_id = t.product_id
and group_id != 0 )
union all
-- existuje group_id = 2 i group_id = 0 a chci dvojku
select * from tabulka t
where group_id = 2
and exists ( select 0 from tabulka
where product_id = t.product_id
and group_id = 0 )
nebo by sel pouzit outer join sam na sebe. Jsou i dalsi reseni, zalezi na tom co presne potrebujes, jestli te trapi vykon apod. Nejefektivnejsi casto byva spojeni s proceduralnim zpracovanim, pokud prichazi z hlediska aplikace v uvahu.
group_id
nějakou konkrétní hodnotu a v případě absence se má použít group_id=0
?
SELECT * FROM (SELECT * FROM tab ORDER BY group_id DESC) AS tab2 GROUP BY product_id;
SELECT COALESCE(t2.id, t1.id), t1.product_id, COALESCE(t2.group_id, t1.group_id), COALESCE(t2.price, t1.price) FROM tab t1 LEFT JOIN tab t2 ON (t1.product_id=t2.product_id AND t2.group_id=2) WHERE t1.group_id = 0;
SELECT * FROM tabulka WHERE
group_id = 2 OR
(group_id = 0 AND product_id NOT IN (SELECT product_id FROM tabulka WHERE group_id = 2))
Pokud bys chtěl řádek s nejvyšším groupid (obecnější řešení), tak
SELECT * FROM TABULKA WHERE (product_id, group_id) IN
(SELECT product_id , MAX(group_id) FROM tabulka GROUP BY product_id)
Tiskni
Sdílej: