Diskuze: Mysql-opakující se údaje
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 18 zpráv z 18.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


Něco na způsob tohohle:
SELECT MAX(id) as hodnota FROM tabulka WHERE poznamka = 'G' OR poznamka = 'D'
Trošku zmatený dotaz, řekl bych...
Jestli to dobře chápu, použil bych SQL dotaz s použitím GROUP BY
SELECT * FROM tabulka ORDER BY hodnost DESC GROUP BY něco_id
Myslím si, že výběr dat s poznámkou G a D byl myšlen tak, že mají v tomto případě oba nejvyšší 'hodnost' u každého 'něco_id' a ne, že by chtěl vybírat pouze tyto dva...
Děkuju vyzkouším to. Jinak ta poznámka je jen jako příklad.
Moc díky, ale toto hází syntax error a pokud přesunu ORDER BY za Group BY DESC tak to sice chybu nehází ale ukáže to jen jedno se stejnym id, ale s tou menší hodností a to ať dám desc asc. Nevíš pls co s tim?
Order by se vykoná až po seskupení. Mohlo by to vypadat třeba nějak takhle:
SELECT * FROM tabulka a WHERE hodnost = (SELECT MAX(hodnost) FROM tabulka WHERE neco_id = a.neco_id)
Zkusil bych tam dát uvozovky nebo apostrofy u toho řazení a
groupování...
Jaký datový typy máš v tý tabulce?
Díky moc, ale nešlo by to nějak pomocí toho GROUP BY, protože já sem tuto tabulku tady nahoře dal jen jako příklad. Potřebuji to totiž použít na výsledku, který vzniká pomocí join.
S tima úvozovkama to taky nejde používám tam int.
Kolika dat se ten select týká? Nešlo by to procházet cyklem?
Napadá mě už jenom jedna možnost. Seřadit si výsledek podle hodnosti a
ten pak použít jako data pro dotaz, který je seskupí podle
neco_id.
SELECT * FROM (SELECT * FROM tabulka ORDER BY hodnost DESC) a GROUP BY a.neco_id
Dík ale toto by se dalo podle mě použít jen v případě že bych to dělal pro jednu tabulku ke které by nebyla žádná připojená.
Ta vnořená query nemusí vybírat data z klasické tabulky. Klidně to může být nějaký spojený výsledek (seřadit ho podle hodnosti už není tak složité). V podstatě by mělo stačit jen obalit tvoji SQL query, která vygeneruje ten výsledek, co jsi ho ukázal nahoře, tím mým dotazem (dát místo vnořeného SELECTu tvůj dotaz). Neznám ale tu vnitřní strukturu ani jak dáváš dohromady tuhle složenou tabulku, takže asi víc neporadím.
Ok díky to mě nenapadlo. Ještě se omlouvám ale nevěděl bys prosim syntaxi toho příkazu?
Potřeboval bych toto aby to fungovalo.
napadlo mě jen toto ale to má chybu v syntaxy.
___________________________________________________________________________
SELECT (SELECT * FROM tblkategorie kat LEFT JOIN tblZANR zanr ON
zanr.ID_KATEGORIE=kat.KATEGORIE_ID WHERE kat.navrh IS NULL ORDER BY
ID_UROVEN ASC)GROUP BY KNIHA_ID
Myslím, že hlavní problém v syntaxi je to SELECT(SELECT...
vnořené selecty by měly být ve tvaru např.:
SELECT něco FROM tabulka WHERE cokoliv NOT IN(SELECT...)
Zobrazeno 18 zpráv z 18.