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

Върнете само един ред от най-дясната таблица за всеки ред в най-лявата таблица

Използвайте:

  SELECT u.id,
         u.name,
         MIN(t.spent) AS spent
    FROM USERS u
    JOIN TRANSACTIONS t ON t.uid = u.id
GROUP BY u.id, u.name

Имайте предвид, че това ще върне само потребители, които имат поне един запис TRANSACTIONS. Ако искате да видите потребители, които нямат поддържащи записи, както и тези, които имат - използвайте:

   SELECT u.id,
          u.name,
          COALESCE(MIN(t.spent), 0) AS spent
     FROM USERS u
LEFT JOIN TRANSACTIONS t ON t.uid = u.id
 GROUP BY u.id, u.name


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel 5.1 - Проверка на връзка с база данни

  2. Извличане на редове, групирани по час с MySQL

  3. Изявление на MySQL INSERT в Python

  4. Как да изтриете дублирани редове и да актуализирате таблицата

  5. объркване с добавяне на 2 времеви стойности