Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Uśrednianie wartości liczbowych
Forum PHP.pl > Forum > Przedszkole
sadistic_son
Cześć.
Mam tabelę sensor a w niej pole `sensor` które przyjmuje obecnie wartości od 1 do 9.

Pierwotnie były to wartości 1-5 . Pierwotnie liczyłem tylko ilość średnich:
  1. SELECT AVG(sensor) FROM `sensor`


Po czasie doszły wartości od 6 do 9 i tutaj zaczyna się komplikacja bo nie mogę liczyć średniej z wartości 1-9 tylko nadal 1-5 ale przy następujących kryteriach:
- 6 ma być traktowane jako 3
- 7 jako 2
- 8 jako 3
- 9 jako 4

Tak więc dla przykładu:
- 6,6,6,6,6,3,3 powinno dać średnią 3 (bo 6 to 3)
- 9,4,4,4, średnia 4 (bo 9 to 4)
- 9, 7 da średnią 3 (bo 7 to 2 a 9 to 4, czyli 2 i 4 = 3)

Pomóżcie ułożyć zapytanie.
Powinno to być coś w stylu: oblicz średnią ale 7 traktuj jako 2, 8 traktuj jako 3, 6 traktuj jako 3, 9 traktuj jako 4.


Za cienki jestem z SQLa żeby to ogarnąć.

Dzięki z góry.
Pyton_000
coś w ten deseń:

Kod
AVG(CASE `sensor`
WHEN 6 THEN 3
WHEN 7 THEN 2
WHEN 8 THEN 3
WHEN 9 THEN 4
ELSE `sensor`
END CASE)
sadistic_son
Pozwolę sobie zacytować Donalda Trumpa: "Sounds good, does not work".

Niestety:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in XXXXXX on line 441

Linijka 441:
  1. $val = mysql_result(mysql_query("SELECT AVG(CASE `sensor` WHEN 6 THEN 3 WHEN 7 THEN 2 WHEN 8 THEN 3 WHEN 9 THEN 4 ELSE `sensor` END CASE) FROM `sensor` "), 0);



EDIT: Zakładam że Twoje poniższe "A błąd gdzie?" napisałeś zanim wkleiłem w treści obecnego posta powyższy błąd.
Pyton_000
A błąd gdzie?
nospor
Cytat
EDIT: Zakładam że Twoje poniższe "A błąd gdzie?" napisałeś zanim wkleiłem w treści obecnego posta powyższy błąd.

@sadistic_son moze zamiast zakladac, to wez doczytaj troche sam... blad co nam podales to blad php wynikajacy z bledy mysql. Nas interesuje blad mysql. Tyle czasu na forum to powinienies wiedziec jak wyswietlic blad bazy danych...
Pyton_000
zamiast `end case` daj `end`

I następnym razem podawaj konkrety a nie pierdoły...
sadistic_son
@Pyton_000 - dzięki kolego, jesteś wielki!

@nospor - racja, my bad.
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-2025 Invision Power Services, Inc.