V Amsterdamu probíhá Blender Conference 2025. Videozáznamy přednášek lze zhlédnout na YouTube. V úvodní keynote Ton Roosendaal oznámil, že k 1. lednu 2026 skončí jako chairman a CEO Blender Foundation. Tyto role převezme současný COO Blender Foundation Francesco Siddi.
The Document Foundation, organizace zastřešující projekt LibreOffice a další aktivity, zveřejnila výroční zprávu za rok 2024.
Byla vydána nová stabilní verze 7.6 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 140. Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána verze 1.90.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
GNUnet (Wikipedie) byl vydán v nové major verzi 0.25.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
Byla vydána nová major verze 7.0 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Nově je postavena je na Debianu 13 (Trixie) a GNOME 48 (Bengaluru). Další novinky v příslušném seznamu.
Společnost Meta na dvoudenní konferenci Meta Connect 2025 představuje své novinky. První den byly představeny nové AI brýle: Ray-Ban Meta (Gen 2), sportovní Oakley Meta Vanguard a především Meta Ray-Ban Display s integrovaným displejem a EMG náramkem pro ovládání.
Po půl roce vývoje od vydání verze 48 bylo vydáno GNOME 49 s kódovým názvem Brescia (Mastodon). S přehrávačem videí Showtime místo Totemu a prohlížečem dokumentů Papers místo Evince. Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.
Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.
Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).
SELECT days_of_stay AS days, accommodation_discounts.id AS id_discount, accommodation_discounts.id_room_discounted FROM accommodation_discounts LEFT JOIN accommodation_discounts_rules_longer_stay ON accommodation_discounts_rules_longer_stay.id_discount = accommodation_discounts.id WHERE accommodation_discounts.discount_type = 'longer_stay' AND accommodation_discounts.start_date < '2010-08-31' AND accommodation_discounts.end_date >= '2010-08-26' AND accommodation_discounts_rules_longer_stay.days_of_stay <= '6' AND id_room_discounted = 105; +------+-------------+--------------------+ | days | id_discount | id_room_discounted | +------+-------------+--------------------+ | 4 | 353 | 105 | | 5 | 354 | 105 | | 4 | 355 | 105 | +------+-------------+--------------------+To je pro nejaky dany pokoj a z tohoto ja potrebuju vybrat tu hodnotu, kde je nejvyssi days, tzn radek | 5 | 354 | 105 | Ovsem, kdyz pouziju MAX(days_of_stay), tak to selectne:
+------+-------------+--------------------+ | days | id_discount | id_room_discounted | +------+-------------+--------------------+ | 5 | 353 | 105 | +------+-------------+--------------------+A uz neresi zavislost s id_discount. Takze jak to vyresit, jeste podotknu, ze finalni dotaz se groupuje podle id_room_discounted, tedy musim s tim pocitat. Takze neco jako:
SELECT MAX(days_of_stay) AS days, accommodation_discounts.id AS id_discount, accommodation_discounts.id_room_discounted FROM accommodation_discounts LEFT JOIN accommodation_discounts_rules_longer_stay ON accommodation_discounts_rules_longer_stay.id_discount = accommodation_discounts.id WHERE accommodation_discounts.discount_type = 'longer_stay' AND accommodation_discounts.start_date < '2010-08-31' AND accommodation_discounts.end_date >= '2010-08-26' AND accommodation_discounts_rules_longer_stay.days_of_stay <= '6' GROUP BY id_room_discountedovsem tak, aby to vybiralo data k MAX hodnote. Nejake napady?
Řešení dotazu:
MAX()
) vrátí určitou hodnotu ze sady hodnot – ale pouze tu hodnotu, neomezí výsledek dotazu na řádek, kde se ta hodnota nachází. Pokud použijete agregační funkci v části SELECT
ve standardním SQL, můžete tedy v části SELECT použít jen agregační funkce a nebo sloupce uvedené v GROUP BY
. MySQL tohle „omezení“ nemá a dělá GROUP BY automaticky, pokud však nemají všechny sloupce ve skupně stejnou hodnotu, vybere do výsledku některou z hodnot náhodně.
Ve vašem případě tedy zřejmě musíte použít vnořený dotaz – vnořeným dotazem zjistit tu největší hodnotu, a vnějším dotazem si pak vytáhnout řádek, který tuhle největší hodotu obsahuje.
SELECT days, id_discount, id_room_discounted FROM ( SELECT days_of_stay AS days, accommodation_discounts.id AS id_discount, accommodation_discounts.id_room_discounted FROM accommodation_discounts LEFT JOIN accommodation_discounts_rules_longer_stay ON accommodation_discounts_rules_longer_stay.id_discount = accommodation_discounts.id WHERE accommodation_discounts.discount_type = 'longer_stay' AND accommodation_discounts.start_date < '2010-08-31' AND accommodation_discounts.end_date >= '2010-08-26' AND accommodation_discounts_rules_longer_stay.days_of_stay <= '6' AND id_room_discounted = 105 ORDER BY days DESC ) WHERE ROWNUM = 1;Jinak nenapsal jsi pro jakou db to resis, tohle je pro Oracle.. Pokud tam mas neco jinyho tak asi bude treba zmenit tu podminku dole na nejaky LIMIT..
id_room_discounted
.
Oracle to IMHO není, tam by se dalo řešit pomocí analytických funkcí. Pěkný úvod je například zde - http://www.dbsvet.cz/view.php?cisloclanku=2006071901
Tiskni
Sdílej: