sql >> Base de Datos >  >> RDS >> PostgreSQL

Postgres orden natural por

Postgres le permite ordenar por matrices, que es esencialmente lo que representa el número de versión. Por lo tanto, puede usar esta sintaxis:

order by string_to_array(version, '.')::int[] desc

Aquí hay un ejemplo completo:

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;

E incluso una demostración .