Mysql
 sql >> база данни >  >> RDS >> Mysql

Изберете отделна колона заедно с някои други колони в MySQL

С помощта на подзаявка можете да получите най-високия id за всяко име, след което изберете останалите редове въз основа на това:

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

Ако предпочитате, използвайте MIN(id) за да получите първия запис за всяко име вместо последния.

Може да се направи и с INNER JOIN срещу подзаявката. За тази цел изпълнението трябва да е подобно и понякога трябва да се присъедините на двама колони от подзаявката.

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. Прозорец за избор на SQL около определен ред

  2. Как работи memcache с MySQL?

  3. Как да добавя още членове към моята колона от тип ENUM в MySQL?

  4. Как да инсталирате Ruby on Rails с mysql и да го накарам да работи, ръководство стъпка по стъпка?

  5. Java PreparedStatement и ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИКАТ КЛЮЧ:как да разбера дали редът е бил вмъкнат или актуализиран?