sql >> Base de Datos >  >> RDS >> PostgreSQL

Consulta de Rails 3:se obtiene un error al usar 'seleccionar' con 'pedir'

Podría probar el SQL con este SQLFIDDLE .

Solo Sqlite y MySql admiten este uso, pero otros no.

Consulte este documento postgresql .

Una limitación de esta función es que una cláusula ORDER BY que se aplica al resultado de una cláusula UNION, INTERSECT o EXCEPT solo puede especificar un nombre o número de columna de salida, no una expresión.

Para su caso, no hay necesidad de usar uniq, todas las identificaciones de usuario ya son distintas, entonces, ¿por qué no intenta esto?:

User.order("email DESC").pluck(:id)

Asumiendo que las identificaciones se duplicaron, podría uniq por ruby ​​en lugar de DB.

User.order("email DESC").pluck(:id).uniq

Este script nunca generará sql con distinto. Este uniq después de arrancar es un Array#uniq método.