Odpověď Evropské komise (pdf) k evropské občanské iniciativě Stop Destroying Videogames, jež je součástí hnutí Stop Killing Games: "Komise se domnívá, že v této fázi nemůže navrhnout právní povinnost zachovat hratelnost videoher poté, co přestaly být poskytovány komerčně. Důvodem jsou i stávající práva duševního vlastnictví. Podle autorského práva EU mají nositelé práv výlučná práva ke svým výtvorům. Kromě autorských práv mohou být
… více »Byl vydán Mozilla Firefox 152.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 152 bude brzy k dispozici také na Flathubu a Snapcraftu.
Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.7 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.
Hříčka xsnow, která na ploše spustí sněžení, je protestware. Pokud jste v Rusku (LANG=ru), zobrazuje ukrajinské vlajky.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala beta verzi Ubuntu Touch 24.04-2.0. Nová verze již počítá s výřezy pro fotoaparát (notch) a zaoblenými rohy displeje. Webový prohlížeče Morph přešel z Chromia 87 na Chromium 134. Do shellu Lomiri byl přidán editor snímků obrazovky.
V Praze probíhá Flock 2026, tj. konference pro přispěvatele a příznivce Fedory. Přednášky lze sledovat také na YouTube.
Node-RED (Wikipedie, GitHub), webová aplikace postavená na Node.js pro vizuální programování a propojování hardwarových zařízení, API a online služeb, byl vydán ve verzi 5.0. Přehled novinek v příspěvku na blogu.
Byla vydána nová verze 3.27.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opraveno bylo 5 zranitelností.
Řídící výbor GCC schválil záměr do GCC začlenit backend WebAssembly.
Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.
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_discounted
ovsem 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: