Hudební přehrávač Amarok byl vydán v nové major verzi 3.0 postavené na Qt5/KDE Frameworks 5. Předchozí verze 2.9.0 vyšla před 6 lety a byla postavená na Qt4. Portace Amaroku na Qt6/KDE Frameworks 6 by měla začít v následujících měsících.
Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.
Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".
Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Byla vydána verze 5.30 dnes již open source operačního systému RISC OS (Wikipedie).
V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …
Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.
Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.
Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.
table1 table2 --------------- ----------------- id int id int /* sth */ table1_id int str2 textData potřebuji pouze z table1, ovšem jen ze řádků, jejichž id odpovídá table1_id. Podmínkou je LIKE %% v str2, nejsnáze asi vysvětleno příkladem:
table1 --------------- 1 /* sth */ 2 /* sth */ table2 --------------- 1 1 cat 2 1 dog 3 1 horse 4 2 cat 5 2 dog 6 2 elephantPokud dotazu předám ca, vrátí se 1 a 2.
Předem děkuji.
Řešení dotazu:
SELECT * FROM table1 WHERE id IN (SELECT table1_id FROM table2 WHERE str2 LIKE '%orse%') AND id IN (SELECT table1_id FROM table2 WHERE str2 LIKE '%at%');Pokud záleží na výkonu, není vhodné EAV používat.
SELECT DISTINCT t1.* FROM table1 t1 JOIN table2 t2 ON t2.table1_id = t1.id WHERE 1=1 AND t2.str LIKE '%whatever%' AND t2.str LIKE '%whateverelse%'Na vykon sere pes… pokud tam mas LIKE %% tak to stejne skonci fullscanem. Jestli se snazis zbastlit si made-by-samodoma fulltext, tak se snazis marne
SELECT id FROM table1 JOIN t2 ON table1.id = table2.t1_id WHERE str2 LIKE '%ca%' OR str2 LIKE '%or%' GROUP BY t1.id HAVING count(str2) = $count;kde $count je počet podmínek (v tomhle případě 2). Každopádně souhlasím s předřečníky, že jakmile se používá LIKE '%něco%' tak nemá smysl výkon řešit - tohle bude pomalé pro jakýkoli netriviální počet záznamů, protože se nedá použít index. (Tedy alespoň v MySQL - PostgreSQL umí použít trigramový index, pokud to něco má aspoň 3 znaky. Tam to bude celkem rychlé, ale ten index bude celkem ohromný.)
SELECT t1.id FROM table1 t1 JOIN table2 t2 ON t1.id = t2.table1_id WHERE t2.str2 LIKE '%t%' GROUP BY t1.id HAVING count(t2.str2) = 1;Vrati jen 1, pritom by melo vratit i 2.
Tiskni Sdílej: