Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).
V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).
Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.
Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.
Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevili v únicích dat a případně se nechat na další úniky upozorňovat.
Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."
Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.
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: