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

Wybierz odrębną kolumnę wraz z kilkoma innymi kolumnami w MySQL

Używając podzapytania, możesz uzyskać najwyższy id dla każdej nazwy, a następnie wybierz pozostałe wiersze na podstawie tego:

SELECT * FROM table
WHERE id IN (
  SELECT MAX(id) FROM table GROUP BY name
)

Jeśli wolisz, użyj MIN(id) aby uzyskać pierwszy rekord dla każdego nazwiska zamiast ostatniego.

Można to również zrobić za pomocą INNER JOIN przeciwko podzapytaniu. W tym celu wydajność powinna być podobna, a czasami trzeba dołączyć do dwóch kolumny z podzapytania.

SELECT
  table.*
FROM 
  table
  INNER JOIN (
    SELECT MAX(id) AS id FROM table GROUP BY name
  ) maxid ON table.id = maxid.id


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyklucz niektóre wartości podczas dzielenia stałej wartości na kraje na podstawie dziennego udziału w przychodach

  2. Wyzwalacz MySQL:aktualizacja po osiągnięciu określonej daty i godziny

  3. SQL SERVER – Sztuczka – Uruchamianie SSMS z innym kontem Windows

  4. Jak wyświetlić obraz (typ Bolb) na stronie jsp z mySql DB w Struts 2 za pomocą Hibernate

  5. Hibernuj wysyłanie zbędnych zapytań do bazy danych