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

Særskilt på kun én kolonne - vis kun FØRSTE dubletrække

Du skal nok tilføje endnu en kolonne. Nu er det muligt at få en særskilt post for hvert account_id ved at bruge GROUP BY klausul, men resultaterne af alle ikke-aggregerede kolonner kan være ambigius. Du skal have en rækkefølge, du godkender, eller indikator inde i gruppen for at bestemme, hvilken post for hver accout_id der er "først". Med kolonnemarkering, hvilken post i hver gruppe, der er den første forespørgsel, er enkel. Uden det skal du acceptere en ordre, der fortæller forespørgslen, hvilken post der er "først". Eksempelvis alfabetisk rækkefølge af fuld_navn:

SELECT account_id, 
       full_name, 
       email, 
       login, 
       phone, 
       updated_at, 
       last_request_at, 
       unconfirmed_email 
  FROM table1 WHERE full_name IN (
    SELECT MIN(full_name) 
      FROM table1 
      GROUP BY account_id 
      WHERE id < '300'
  )


  1. deltage med opslag og gruppeby

  2. få id for sidst indsatte post uden at bruge mysql_insert_id()

  3. Opretter forbindelse til ekstern SQL Server 2008 fra Windows Azure

  4. SQL-alchemy:ValueError for mange værdier til at udpakke?