sql >> Databasteknik >  >> RDS >> Mysql

Returnera endast en rad från tabellen längst till höger för varje rad i tabellen längst till vänster

Använd:

  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

Tänk på att detta endast returnerar användare som har minst en TRANSACTIONS-post. Om du vill se användare som inte har stödjande register lika väl som de som har - använd:

   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. välj från en tabell, infoga i en annan tabell oracle sql-fråga

  2. Oracle-XMLTYPE:Hur man uppdaterar ett värde

  3. MySQL-utdatamaskering (t.ex. telefonnummer, SSN, etc. skärmformatering)

  4. DevOps-lösningar för automatisering av databasutveckling