sql >> Database teknologi >  >> RDS >> PostgreSQL

Postgres naturlige orden ved

Postgres giver dig mulighed for at sortere efter arrays -- hvilket i bund og grund er hvad versionsnummeret repræsenterer. Derfor kan du bruge denne syntaks:

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

Her er et fuldstændigt eksempel:

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;

Og endda en demonstration .



  1. sikrer indstilling af en kolonne til indeks i en mysql-tabel O(1)-opslag?

  2. Få prisdata for et produkt, der kan reserveres, med datointervaller i WooCommerce

  3. Søg i alle felter i alle tabeller for en bestemt værdi (Oracle)

  4. mysql hvordan man opdaterer en kolonne i hver række med et givet sæt værdier