sql >> Base de Datos >  >> RDS >> Mysql

Distinto en una sola columna:solo muestra la PRIMERA fila duplicada

Probablemente debería agregar otra columna. Ahora es posible obtener un registro distinto para cada account_id usando GROUP BY pero los resultados de todas las columnas no agregadas pueden ser ambiguos. Debe tener algún orden que apruebe o indicador dentro del grupo para determinar qué registro para cada accout_id es "primero". Con la columna que marca qué registro en cada grupo es la primera consulta es simple. Sin él, debe aceptar algún pedido que indique la consulta qué registro es "primero". En el orden alfabético de ejemplo de full_name:

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'
  )