Funkcja Max()

AL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 37
0

Witam
Mam taki problem , że nie umiem z kilku wierszy dla jednej kolumny wyciągnąć MAXA.. ( jak w przykładzie )

Index Index2 Index3 Data Index4 CheMaxa Oznaczenie
R2020A1AVI H0103001 50020860 20200810 ALVIN20006H6N 204574 OK
R2020A1AVI H0103001 50020860 20200810 ALVIN20006H6N 204578 OK
R2020A1AVI H0103001 50020860 20200810 ALVIN20006H8G 204602 OK
R2020A1AVI H0103001 50020860 20200810 ALVIN20006H8G 204605 OK
R2020A1AVI H0103001 50020860 20200810 ALVIN20006H6M 204606 OK
R2020A1AVI H0103001 50020860 20200810 ALVIN20006H6M 204608 OK]

No właśnie...jak zapisać grupowanie i sortowanie , aby z tych 6 wierszy były tylko te które mają najwyższą wartość w kolumnie ChceMaxa
Jak wpisuje select ... .... .... Max( ChceMaxa) to i tak pokazuje wszystko

Ktoś podpowie co robie źle..?

ŁF
  • Rejestracja: dni
  • Ostatnio: dni
1

Zapomniałeś odfiltrować cokolwiek.

Kopiuj
select *
from test
where b = (select max(b) from test)
AL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 37
0

@ŁF: select **xxx, xxxx, xxxxx, **Max( ChceMaxa) to i tak pokazuje wszystko
zamiast xxx są nazy poszczególnych pól..
a czy taki zapis where b = (select max(b) from test) mam gdzies wczeniej deklarować..?

może zapisze mojego selecta,,,>>

Kopiuj
select  Index, Index2 ,Index3 ,Data ,Index4 , Max(CheMaxa),  Oznaczenie
from test 
group by Index, Index2 ,Index3 ,Data ,Index4 ,CheMaxa,  Oznaczenie
order by Index, Index2 ,Index3 ,Data ,Index4 , CheMaxa,  Oznaczenie
ŁF
  • Rejestracja: dni
  • Ostatnio: dni
0

Nic nie rozumiem. Może najpierw zapoznaj się z podstawami sql i zapytaj jeszcze raz,

AL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 37
0

@ŁF: No może ...
ale pytanie wydawało sie proste...
z 6-u wierszy jakie daje select każde 2 są prawie take same ...rózni je ( te 2 podobne) wartośc w kolumnie ChceMaxa
Index Index2 Index3 Data Index4 CheMaxa Oznaczenie
R2020A1AVI H0103001 50020860 20200810 ALVIN20006H6N 204574 OK
R2020A1AVI H0103001 50020860 20200810 ALVIN20006H6N 204578 OK

R2020A1AVI H0103001 50020860 20200810 ALVIN20006H8G 204602 OK
R2020A1AVI H0103001 50020860 20200810 ALVIN20006H8G 204605 OK
R2020A1AVI H0103001 50020860 20200810 ALVIN20006H6M 204606 OK
R2020A1AVI H0103001 50020860 20200810 ALVIN20006H6M 204608 OK]

Chciałem zrobić selecta który z tych 6 wierszy wybierze tylko te które dla podobnych par mają najwyższą wartość w kolumnie ChceMaxa
wynik powinien wyglądąć tak...
R2020A1AVI H0103001 50020860 20200810 ALVIN20006H6N 204578
R2020A1AVI H0103001 50020860 20200810 ALVIN20006H8G 204605
R2020A1AVI H0103001 50020860 20200810 ALVIN20006H6M 204608

KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5585
1

Może tak?

Kopiuj
SELECT Index, Index2, Index3, Data, Index4, max(CheMaxa), Oznaczenie
  FROM tabela
 GROUP BY Index, Index2, Index3, Data, Index4, Oznaczenie;
AL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 37
0

@KamilAdam: Dzieki WIELKIE......działa..

ŁF
  • Rejestracja: dni
  • Ostatnio: dni
2
Kopiuj
select a, max(b) from test
group by a

co sprowadza się do tego, co napisał KamilAdam.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.