Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 21.06.2009 Ostrzeżenie: (0%)
|
Witam,
Mam problem z wyborem odpowiednich wierszy w MySQL i po prostu brak mi już pomysłów. Nie ukrywam, że do bycia ekspertem jeszcze mi dużo brakuje. Mam taką tabelę: Kod dzien | cena 1 | 50 2 | 50 3 | 60 4 | 60 5 | 90 6 | 90 Potrzebuję wybrać tylko takie wiersze, których cena zmienia się o więcej niż 20 w stosunku do poprzedniego dnia. Próbowałem robić w stylu: Kod SELECT dzien AS param, cena, (cena - (SELECT cena FROM tabela WHERE dzien < param ORDER BY dzien DESC LIMIT 1)) AS roznica FROM tabela WHERE roznica > 20 ale wywala mi błąd: Error Code: 1054. Unknown column 'roznica' in 'where clause' Czy możecie mi pomóc? Z góry dzięki. Pozdrawiam, Tommyexlee |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 21.06.2009 Ostrzeżenie: (0%)
|
Dobra wszystko działa ładnie pięknie, ale chciałbym jeszcze rozszerzyć funkcjonalność... Załóżmy, że mam tabelę:
Kod dzien | cena | ile kupiono 1 | 50 | 2 2 | 50 | 3 3 | 55 | 2 4 | 60 | 1 5 | 65 | 5 6 | 65 | 3 7 | 65 | 2 8 | 70 | 5 9 | 75 | 2 10 | 80 | 3 11 | 85 | 1 12 | 85 | 1 Potrzebuję wyświetlić informację, przez jaki czas cena rosła oraz ile w sumie (w czasie tego wzrostu) kupiono tego towaru. Wynik końcowy powinien być taki: Kod dzien poczatku | dzien konca | cena poczatkowa | cena koncowa | ile kupiono 2 | 5 | 50 | 65 | 11 7 | 11 | 65 | 85 | 13 Kolumnę 'ile kupiono' pewnie trzeba załatwić funkcją SUM(), tylko nie za bardzo wiem po czym grupować wyniki.. nie mogę znaleźć żadnego rozsądnego kryterium grupowania. Próbowałem dorzucić warunek GROUP BY (roznica_dni=1), ale przecież ten warunek spełniony jest dla każdego wiersza, więc zapytanie mi zwróci wszystko... Czy moglibyście pomoć? Z góry dziękuję. Pozdrawiam, Tommyexlee |
|
|
|
tommyexlee Wybranie tylko zmieniających się danych 10.10.2012, 20:27:19
Crozin [SQL] pobierz, plaintext [...] HAVING rozn... 10.10.2012, 21:00:26
dmateo Spróbuj ewentualnie tak, zachowasz czytelny kod i ... 11.10.2012, 00:05:57
tommyexlee wow to takie proste? dzięki za pomoc 15.10.2012, 00:55:53
mmmmmmm Przy założeniu, że masz wszystkie dni. Wystarczy j... 15.10.2012, 07:44:51 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 16:54 |