Postgres DB patarimai

User Rating:  / 0
PoorBest 

Kaip išrikiuoti lentutės įrašus natūralia tvarka?

Dažnai pasitaiko, kad reikia gražiai išrikiuoti įrašus pagal stulpelį, kuriame gali būti ir teksto, ir skaitmenų.

Vienas iš metodų gali būti toks:

SELECT * FROM [lentutė] ORDER BY COALESCE(CAST(SUBSTRING([stulpelis] FROM '([0-9]{1,10})') AS INTEGER), 0);

Bet, ko gero, geriausias būdas yra šis:

SELECT [stulpelis], [kitas stulpelis] 

FROM [lentutė] 

GROUP BY [kitas stulpelis]

ORDER BY COUNT([stulpelis]), [stulpelis]

Noriu pasisakyti!