sql >> Databasteknik >  >> RDS >> PostgreSQL

Postgres naturliga ordning av

Postgres låter dig sortera efter arrayer -- vilket i huvudsak är vad versionsnumret representerar. Därför kan du använda denna syntax:

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

Här är ett fullständigt exempel:

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;

Och även en demonstration .



  1. Förhindra SQL-injektion i dynamiska kolumnnamn

  2. Vad behövs för att arbeta med Oracle från Visual Studio 2010?

  3. Få Woocommerce kundorderspråk

  4. SELECT DISTINCT Fungerar inte Android SQLite