Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Uzyskaj pierwsze/ostatnie n rekordów na grupę według

Znacznie uproszczone i poprawione rozwiązanie Carlosa (jego rozwiązanie zwróciłoby pierwsze 5 wierszy, nie ostatnie...):

SELECT tB1.idA, tB1.idB, tB1.textB
FROM tableB as tB1
    JOIN tableB as tB2
        ON tB1.idA = tB2.idA AND tB1.idB <= tB2.idB
GROUP BY tB1.idA, tB1.idB
HAVING COUNT(*) <= 5

W MySQL możesz użyć tB1.textB nawet jeśli jest to grupowanie według zapytania, ponieważ grupujesz według idB w pierwszej tabeli, więc istnieje tylko jedna wartość tB1.textB dla każdej grupy...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dynamiczny kursor w procedurze składowanej

  2. Jak pobrać wartości rozwijane z bazy danych i wyświetlić je w jsp

  3. Paginacja w nodejs z mysql

  4. Czy Data jest słowem kluczowym w mysql?

  5. Dlaczego funkcja POKAŻ STATUS TABELI w innodb jest tak niewiarygodna?