sql >> Database >  >> RDS >> PostgreSQL

LENGTH (berekende kolom) gebruiken in ORDER BY in Postgres sql

Postgres houdt zich aan de standaard door kolomaliassen toe te staan ​​als order by sleutels. Dus dit werkt:

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

Het breidt dit echter niet uit tot uitdrukkingen met behulp van de aliassen. U kunt dit oplossen met behulp van subquery's of CTE's. Ik zou ook een laterale samenvoeging kunnen voorstellen:

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. PL/SQL Hoe alle attributen in ROW retourneren?

  2. FOUT 1698 (28000):Toegang geweigerd voor gebruiker 'root'@'localhost'

  3. Verbind de python-app met een database met behulp van centos 7

  4. Zelf deelnemen begrijpen