Portál AbcLinuxu, 8. května 2025 08:17
SELECT cas, id_zavodu FROM vykony WHERE id_zavodu=1234 ORDER BY cas LIMIT 10;
Prumer udelam jednoduse (o to tady ani nejde, ale pro informaci):
SELECT AVG(cas) FROM (tenPredchoziDotaz) tab;
Jde mi o to udelat tohle (tj. ziskat tabulku obsahujici z kazdeho zavodu 10 nejlepsich vykonu):
SELECT cas, id_zavodu FROM vykony WHERE id_zavodu=1 ORDER BY cas LIMIT 10
UNION
SELECT cas, id_zavodu FROM vykony WHERE id_zavodu=2 ORDER BY cas LIMIT 10
UNION
...
Asi bych mel nejak pouzit cyklus, ale zadne reseni jsem nenasel. Nebo to jde cele i jinak a lepe?
BEGIN FOR i IN (SELECT DISTINCT id_zavodu FROM vykony) LOOP INSERT INTO pomocna_tabula SELECT cas, id_zavodu FROM vykony WHERE id_zavodu = i ORDER BY cas LIMIT 10; END LOOP; END;PS: LIMIT Oracle nepozna, takze by ten select bol trochu zlozitejsi, ale nechce sa mi to prepisovat
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.