Tôi muốn cập nhật 10 giá trị hàng đầu của một cột trong bảng. Tôi có ba cột; id
, account
và accountrank
. Để có được 10 giá trị đầu tôi có thể sử dụng như sau:Cập nhật giá trị N cao nhất bằng cách sử dụng PostgreSQL
SELECT * FROM accountrecords
ORDER BY account DESC
LIMIT 10;
Những gì tôi muốn làm là để thiết lập giá trị trong accountrank
là một loạt các 1 - 10
, dựa trên tầm quan trọng của account
. Điều này có thể thực hiện trong PostgreSQL không?
Nếu phiên bản poatgres của bạn là 8.4 hoặc cao hơn, bạn có thể sử dụng chức năng cửa sổ + rank() hoặc row_number(). – wildplasser