PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Rails 3 Query:mendapatkan kesalahan saat menggunakan 'pilih' dengan 'pesanan'

Anda dapat menguji SQL dengan SQLFIDDLE ini .

Hanya Sqlite dan MySql yang mendukung penggunaan ini, tetapi yang lainnya tidak.

Lihat dokumen postgresql ini .

Batasan fitur ini adalah bahwa klausa ORDER BY yang diterapkan pada hasil klausa UNION, INTERSECT, atau EXCEPT hanya dapat menentukan nama atau nomor kolom keluaran, bukan ekspresi.

Untuk kasus Anda, tidak perlu menggunakan uniq, semua id pengguna sudah berbeda, jadi mengapa Anda tidak mencoba ini:

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

Dengan asumsi id diduplikasi, Anda dapat uniq dengan ruby ​​alih-alih DB.

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

Script ini tidak akan pernah menghasilkan sql dengan yang berbeda. uniq . ini setelah dipetik adalah Array#uniq metode.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa itu LEFT JOIN di PostgreSQL

  2. Memutakhirkan ke PostgreSQL 11 dengan Replikasi Logis

  3. Anda perlu menginstal postgresql-server-dev-X.Y untuk membangun ekstensi sisi server atau libpq-dev untuk membangun aplikasi sisi klien

  4. Saat Sisipkan:skor referensi kolom ambigu

  5. Cara menggunakan argumen campuran int dan numerik dalam fungsi Postgres 9.1+