sql >> Database teknologi >  >> RDS >> Mysql

Returner kun én række fra tabellen længst til højre for hver række i tabellen længst til venstre

Brug:

  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

Vær opmærksom på, at dette kun vil returnere brugere, der har mindst én TRANSACTIONS-post. Hvis du vil se brugere, der ikke har understøttende optegnelser såvel som dem, der har - brug:

   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. PHP PDO med foreach and fetch

  2. Hvordan gør man en kolonne unik i SQL?

  3. Opdeling af kommaseparerede værdier i Oracle

  4. Konverter 'datetime2' til 'date' i SQL Server (T-SQL-eksempler)