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

Menggunakan LENGTH (kolom yang dihitung) di ORDER BY di Postgres sql

Postgres mematuhi standar dengan mengizinkan alias kolom sebagai order by kunci. Jadi ini berhasil:

SELECT  CONCAT(first_name, last_name)  AS full_name
FROM customer
ORDER BY full_name;

Namun, ini tidak mencakup ekspresi menggunakan alias. Anda dapat memperbaikinya menggunakan subkueri atau CTE. Saya mungkin juga menyarankan penggabungan lateral:

SELECT v.full_name
FROM customer c CROSS JOIN LATERAL
     (VALUES (CONCAT(c.first_name, c.last_name))) v(full_name)
ORDER BY v.full_name;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Abstraksi basis data Java untuk GWT (atau:Apakah Hibernate merupakan pilihan yang baik?)

  2. Mengapa menjatuhkan indeks membutuhkan waktu lebih lama daripada membuatnya?

  3. Barman Cloud – Bagian 1:Arsip WAL

  4. Baris duplikat SQL dengan beberapa gabungan kiri

  5. Situasi di mana ActiveRecord dan SQL tidak mengembalikan hasil yang sama karena OID yang tidak dikenal diperlakukan sebagai String