sql >> Database >  >> RDS >> Mysql

Selecteer een aparte kolom samen met enkele andere kolommen in MySQL

Met behulp van een subquery kunt u de hoogste id . krijgen voor elke naam, selecteer vervolgens de rest van de rijen op basis daarvan:

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

Gebruik desgewenst MIN(id) om de eerste record voor elke naam te krijgen in plaats van de laatste.

Het kan ook met een INNER JOIN tegen de subquery. Voor dit doel moeten de prestaties vergelijkbaar zijn, en soms moet je op twee meedoen kolommen uit de subquery.

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


  1. SQL-query om alle WordPress-berichten met categorieën te extraheren

  2. Hoe de nieuwste vier items per categorie SELECTEREN?

  3. Hoe kan ik een datum instellen op NULL in Yii?

  4. PHP &MySQL vergelijken wachtwoord