Postgres memungkinkan Anda untuk mengurutkan berdasarkan array -- yang pada dasarnya mewakili nomor versi. Oleh karena itu, Anda dapat menggunakan sintaks ini:
order by string_to_array(version, '.')::int[] desc
Berikut adalah contoh lengkapnya:
select *
from (values ('1'), ('2.1'), ('1.2.3'), ('1.10.6'), ('1.9.4')) v(version)
order by string_to_array(version, '.')::int[] desc;
Dan bahkan demonstrasi .