Postgres tuân thủ tiêu chuẩn bằng cách cho phép bí danh cột dưới dạng order by
chìa khóa. Vì vậy, điều này hoạt động:
SELECT CONCAT(first_name, last_name) AS full_name
FROM customer
ORDER BY full_name;
Tuy nhiên, nó không mở rộng điều này thành biểu thức bằng cách sử dụng bí danh. Bạn có thể sửa lỗi này bằng cách sử dụng truy vấn con hoặc CTE. Tôi cũng có thể đề xuất một phép nối bên:
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;