Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Uśrednianie wartości liczbowych
sadistic_son
post 17.08.2017, 13:11:28
Post #1





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


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.


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Pyton_000
post 17.08.2017, 13:21:04
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


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)


Ten post edytował Pyton_000 17.08.2017, 13:21:26
Go to the top of the page
+Quote Post
sadistic_son
post 17.08.2017, 14:06:06
Post #3





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


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.

Ten post edytował sadistic_son 17.08.2017, 14:11:59


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
Pyton_000
post 17.08.2017, 14:08:20
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


A błąd gdzie?
Go to the top of the page
+Quote Post
nospor
post 17.08.2017, 14:44:31
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Pyton_000
post 17.08.2017, 14:57:33
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


zamiast `end case` daj `end`

I następnym razem podawaj konkrety a nie pierdoły...

Ten post edytował Pyton_000 17.08.2017, 14:58:02
Go to the top of the page
+Quote Post
sadistic_son
post 17.08.2017, 15:54:48
Post #7





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


@Pyton_000 - dzięki kolego, jesteś wielki!

@nospor - racja, my bad.


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 05:37