Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] - Wyswietlanie roznic (odejmowanie kolumn)
Forum PHP.pl > Forum > Bazy danych > MySQL
fcppl
witam

Mam taka kolumne

ID | Wartość
1 | 0
2 | -50
3 | -60
4 | -80
5 | -95

I teraz chce osiągnać coś takiego:

ID | Wartość | Różnica
1 | 0 | 0
2 | -50 | -50 (0 - 50 ID 1 minus ID 2)
3 | -60 | -10 (50 - 60 ID 2 minus ID 3)
4 | -80 | -20 (60 - 80 ID 3 minus ID 4)
5 | -95 | -15 (80 - 95 ID 4 minus ID 5) itp..

Proszę o pomoc lub jakiś przykład.
fcppl
dzięki za przykład

SELECT total_licznik, @suma:=@suma+total_licznik AS suma FROM cpn_tankowanie, (SELECT @suma:=0) AS s

Zrobiłem takie pytanie, ale to mi pokazuje Sume kolejnych total_licznik a nie roznice jak pokazałem na pierwszym przykładzie
trueblue
Pewnie dlatego, że w zapytaniu sumujesz wartości. Prawda?
fcppl
Prawdopodobnie tak ale nie potrafie wyswietlic roznicy. Prosze o jakis przykład?
trueblue
  1. SELECT wartosc, @suma:=-(@poprzednia-wartosc) AS roznica, @poprzednia:=wartosc
  2. FROM cpn_tankowanie, (SELECT @poprzednia:=0) AS s


albo:

  1. SELECT wartosc, @suma:=wartosc-@poprzednia AS roznica, @poprzednia:=wartosc
  2. FROM cpn_tankowanie, (SELECT @poprzednia:=0) AS s
fcppl
dziekuje za pomoc

teraz działa doskonale

witam,

Napotkałem mały problem i nie wiem jak go rozwiązać. Mianowicie problem pojawia się jak kolumna Wartość ma 0 (zero). Wtedy otrzymuję taki wynik

ID | Wartość | Różnica
1 | 0 | 0
2 | -50 | -50
3 | 0 | -50
4 | -80 | -80
5 | -95 | -15

A chce uzyskać taki wynik
ID | Wartość | Różnica
1 | 0 | 0
2 | -50 | -50
3 | 0 | 0
4 | -80 | -30
5 | -95 | -15

Proszę o jakaś wskazówkę.

Dodam tylko ze teraz używam polecenia:

SELECT wartosc, @suma:=-(@poprzednia-wartosc) AS roznica, @poprzednia:=wartosc
FROM cpn_tankowanie, (SELECT @poprzednia:=0) AS s
trueblue
Wystarczy pokombinować.

  1. SELECT wartosc, @suma:=IF(wartosc<>0,-(@poprzednia-wartosc),0) AS roznica, @poprzednia:=IF(wartosc<>0,wartosc,@poprzednia)
  2. FROM cpn_tankowanie, (SELECT @poprzednia:=0) AS s

fcppl
serdecznie dziękuję za pomoc. Teraz działa OK.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.