Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Mysql] funkcja MAX()
Forum PHP.pl > Forum > Bazy danych > MySQL
LucRay
Mam w bazie tabele:

id | ocena1 | ocena2
1 | 10 | 0.5
3 | 9 | 0.25
5 | 5 | 0.75
6 | 10 | 0.25
8 | 9 | 0

Zastanawiam sie jak znalezc rekord w ktorym suma pol ocena1 i ocena2 jest najwieksza
  1. SELECT max(ocena1 + ocena2) FROM tabela
bedzie dobre ? bo cos za proste mi sie to wydaje by dzialalo worriedsmiley.gif
Kuziu
może przetestuj to sie dowiesz ?
GrayHat
temat podobny. moze ktos wie co tu jest nie tak:

  1. SELECT * FROM y WHERE id = RAND(1,MAX(id))

dostaje taki blad:
Kod
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MAX(id))' at line 1
Kinool
grayhat a nie powinno byc po WHERE HAVING?? uzywasz FUNKCJI w warunku
GrayHat
@kinol: mozesz zucic przykladem?? albo poprawic moj kod?
Kinool
HAVING uzywa sie jesli w warunku chcesz uzyc wartosci uzyskanej wczesniej z funkcji np:

  1. SELECT pole1 , RAND(MAX(id)) AS los, id AS id2 FROM tabela GROUP BY id HAVING los<id2


w normalnym zapytaniu po WHERE nie mozesz uzywac wartosci uzyskanych jak w tym przypadku los HAVING umozliwia zastosowanie takiej wartosci

------------
jesli cos pokrecilem to prosze mnie poprawic lub zajzec do manuala MySQL
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.