sql >> Databáze >  >> RDS >> Mysql

Vyberte odlišný sloupec spolu s některými dalšími sloupci v MySQL

Pomocí dílčího dotazu můžete získat nejvyšší id pro každý název a na základě toho vyberte zbývající řádky:

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

Pokud chcete, použijte MIN(id) získat první záznam pro každé jméno místo posledního.

To lze také provést pomocí INNER JOIN proti poddotazu. Pro tento účel by měl být výkon podobný a někdy je potřeba se připojit na dvou sloupců z poddotazu.

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


  1. mysql Compress() s sqlalchemy

  2. Kopírování databáze MySQL na jiný počítač

  3. Jak importovat soubor SQL do databáze ignorující X řádků v souboru?

  4. Vnitřnosti transakční replikace serveru SQL – část 2