MySQL - SUM jen pro určitý počet záznamů rubrika: Databáze: SQL
1
skybedy
položil/-a 8.5.2016
Mám tabulku třeba se dvěmi startovními čísly a ke každému z nich jsou přiřazené časy.
Dejme tomu, že každé ze startovních čísel má v tabulce 3 časy, to znamená, že za téhle situace je v tabulce 6 záznamů.
Když chci časy sečíst a sečtené je přiřadit ke startovním číslům a následně seřadit, udělám to jednoduše.
SELECT startovni_cislo, SUM(cas) FROM tabulka GROUP BY startovni_cislo ORDER BY cas ASC
Jak to ale udělat, když chci to samé, ale pouze pro dva časy, nebo jen jeden?
odkaz
2
Peter Brejcak
odpověděl/-a 2.6.2016
Pouzi premenne. Viac o nich napriklad na http://dev.mysql.com/doc/refman/5.7/en/user-variables.html
Select nizsie ti vrati cas pre prve 2 useky - uprav ORDER BY t.startovni_cislo, t.usek ak to potrebujes usporiadat podla niecoho ineho.
select z.startovni_cislo, sum(z.cas) from (SELECT @row_num := IF(@prev_value=t.startovni_cislo,@row_num+1,1) AS RowNumber ,@prev_value := t.startovni_cislo ,t.usek ,t.cas, ,t.startovni_cislo FROM tabulka t, (SELECT @row_num := 1) x, (SELECT @prev_value := '') y ORDER BY t.startovni_cislo, t.usek) z where z.RowNumber=<2 -- jenom prvni 2 useky
Pro zobrazení všech 3 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře