Diskuze: Cyklus v klauzuli WHERE?
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 7 zpráv z 7.
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
To mas cele hrozne spatne navrzene.
<option value="34"> Chléb konzumní kmínový </option>
Cili, predat dalsimu scriptu jen id.
4. Zkus pouzivat kulturu a dotazy pekne zformatovat. Minimalne pomoci online
formatovacu kodu, jako treba https://www.dpriver.com/…qlformat.htm
A pro vkladani do forka pouzit tlacitko code </>
5. Mozna by slo pouzit prikaz IN, sloupec IN ('text1', 'text2')
.
Nebo to chces grupovat? Sloucit urcite radky podle urciteho sloupce, pokud
obsahuje stejnou hodnotu. Pozn, opet, tak 100x rychlejsi vyuzitim ciselneho
indexu (4 znaky) nez 100 znakoveho textu.
SELECT
tpf.,
average / lag(average) over (ORDER BY year_value) AS "difference"
FROM
t_frantisek_horak_projekt_sql_primary_final tpf
WHERE
name IN ('Chléb konzumní kmínový', 'Rýže loupaná dlouhozrnná')
GROUP BY
name
No dosti silene spokovat to UNIONEM, kdyz uz tak radeji UNION ALL = mensi
zatez pro SQL server.
Moc neznam MySQL ,ale nestacilo by
SELECT
tpf.*,
average / LAG(average) OVER (ORDER BY name,year_value) AS "difference"
FROM t_frantisek_horak_projekt_sql_primary_final tpf
?
Tohle asi nebude idealni bude to vracet i zanamy ktere slouci i chleb
min(year) z ryzi max(year) tak by to chtelo jeste asi
upravit na
SELECT
tpf.*,
average / LAG(average) OVER (ORDER BY name,year_value) AS "difference"
LAG(name) OVER (ORDER BY name,year_value) AS "previous_name"
FROM t_frantisek_horak_projekt_sql_primary_final tpf
a cele to zabalit do
SELECT * FROM (
SELECT
tpf.*,
average / LAG(average) OVER (ORDER BY name,year_value) AS "difference"
LAG(name) OVER (ORDER BY name,year_value) AS "previous_name"
FROM t_frantisek_horak_projekt_sql_primary_final tpf
) X WHERE name <> previous_name
tohle by mohlo fungovat.
Děkuji oběma za odpověď. Nakonec mě pomohlo řešení Petana. Netušil jsem, že ve funkci LAG se dá v ORDER BY dávat více parametrů. Tímto se to vyřešilo.
Mozna by pomohlo, kdybys uvedl priklad vstupu a jaky ma byt vystup.
Jeste mne napadlo, ze chces treba, aby to bylo v presnem poradi. Jak se treba
dela u vyhledavani, ze nektere vysledky, ze lepsi shoda s vyhledavacim slovem je
nahore a ostatni niz.
A nebo mozna ti staci jen ten GROUP ("postupně se doplní všechny hodnoty ze
sloupce name").
A nebo to chapu uplne spatne
Zobrazeno 7 zpráv z 7.