Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
potreboval by som pomoct s nasledujucim:
mam tabulku:
CREATE TABLE test
(number INTEGER NOT NULL,
string VARCHAR(255) NOT NULL,
count INTEGER,
UNIQUE(number), UNIQUE(string))
a potrebujem vytvorit sql query, ktora vrati:
- 1, ak je tabulka prazdna, - number z riadka, v ktorom sa zhoduje nejaky retazec s retazcom zo stlpca string - number z riadka, v ktorom je count == 0 - max(count) + 1 inak
moj pokus:
SELECT CASE
WHEN (COUNT(*) = 0) THEN 1
WHEN (string = ?) THEN (SELECT number FROM test WHERE string = ?)
WHEN (MIN(count) = 0) THEN (SELECT number FROM test WHERE count = 0)
ELSE (MAX(number) + 1) END
FROM test
pre tabulku s hodnotami:
1 | aaa | 1
2 | bbb | 1
3 | ccc | 1
4 | ddd | 1
nefunguje spravne, ked pre retazec 'aaa' vrati 5 namiesto 1, ale pre retazec 'ddd' uz vrati spravny vysledok (4)
Dakujem za radytest. O jakou se jedná databázi?
Můžete zkusit něco takového, ale podle databáze by se to nejspíš dalo napsat jinak a lépe:
SELECT
COALESCE(
CASE WHEN (COUNT(t1.*) = 0) THEN 1 ELSE NULL END,
CASE WHEN (COUNT(t2.*) > 0) THEN t2.number ELSE NULL END,
CASE WHEN (COUNT(t3.*) > 0) THEN t3.number ELSE NULL END,
SELECT MAX(number) FROM test
)
FROM test t1, test t2, test t3
WHERE
t2.string = ? AND
t3.count = 0
Každopádně ta vaše třetí podmínka (number z řádku, kde count == 0) může být splněna pro víc řádků.
select
coalesce( case when A.cnt = 0 then 1 end , B.num,C.num,A.cnt+1 )
from
(select count(*) as cnt from test ) as A
,(select max(number) as num from test where string = 'retez') as B
,(select max(number) as num from test where "count" = 0 ) as C
IMHO je hodně nešťastné pojmenovat pole count, protože toto jméno koliduje se jménem funkce.
BTW tak jak to popsal autor dotazu to nemůže být, protože není jasné jaké number se má vrátit, pokud je count == 0 pro vícero řádků? V mém řešení jsem zvolil to největší.
Tiskni
Sdílej: