sql >> Database >  >> RDS >> Mysql

Onderscheiden in slechts één kolom - alleen EERSTE dubbele rij weergeven

U moet waarschijnlijk nog een kolom toevoegen. Nu is het mogelijk om voor elke account_id een apart record te krijgen met GROUP BY clausule, maar de resultaten van alle niet-geaggregeerde kolommen kunnen dubbelzinnig zijn. Je moet een bepaalde volgorde hebben die je goedkeurt of een indicator binnen de groep hebben om te bepalen welk record voor elke accout_id "eerste" is. Met kolommarkering welk record in elke groep de eerste is, is eenvoudig opvragen. Zonder dit moet u een bestelling accepteren die de vraag aangeeft welk record "eerst" is. Op alfabetische volgorde van volledige_naam:

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. Soundex met getallen als Stringparameter

  2. ODP.net Oracle Decimal Number-precisieprobleem bij het vullen van een dataset. Uitzondering:Rekenkundige bewerking resulteerde in een overloop

  3. CakePHP Database verbinding Mysql ontbreekt, of kon niet worden aangemaakt

  4. Een kolom laten vallen met een externe sleutel