/ / Jak filtrować SELECT MySQL za pomocą funkcji agregującej? - sql, mysql

Jak filtrować SELECT MySQL za pomocą funkcji agregującej? - sql, mysql

SELECT h11, HA11
FROM florin.h11
WHERE (3>d1 AND 3<d2) OR (3>d1 AND 3=d2 AND id=MAX(id))
UNION (3=d1 AND 3<d2 AND id=MIN(id));

Tutaj zrzut ekranu mojej struktury tabeli: tekst alternatywny

Odpowiedzi:

1 dla odpowiedzi № 1

Myślę, że to, co chciałbyś zrobić, to coś takiego:

SELECT h11, HA11
FROM florin.h11
WHERE (3>d1 AND 3<d2)
OR (3>d1 AND 3=d2 AND id = (SELECT MAX(t2.id)
FROM florin.h11 AS t2))
OR (3=d1 AND 3<d2 AND id = (SELECT MIN(t3.id)
FROM florin.h11 AS t3));

0 dla odpowiedzi nr 2

Pierwsza zła rzecz

  • Proszę wspomnieć, jeśli floren jest bazą danych, a h11 jest tabelą.

Jeśli Florin jest tabelą, to napisz tylko "wybierz h11, HA11 z Florin", nie pisz nazwy kolumn.

Druga zła rzecz

  • Operator unijny służy do łączenia wyników dwóch zapytań. Aby uzyskać więcej informacji, odwiedź stronę www.w3school.com

Tak więc, zapytaj o ogień

select h11, HA11
from florin
where (3 > d1 and 3 < d2) or (3 > d1 and 3 = d2 and id = MAX(id))

union

select h11, HA11
from florin
where (3 = d1 and 3 < d2 and id = MIN(id))

Tutaj to zapytanie nie zwróci pożądanego wyniku, ale to było moje wyobrażenie, że chcesz tego typu zapytania.