SQL kārtošana un NULL vērtības
14. October, 2008, 19:43 UncategorizedMySQL’ā un noteikti arī visās citās datubāžu sistēmās, kārtojot kolonu (kas var saturēt arī NULL vērtības) augošā secībā (ASC), rezultātā NULL vērtības vienmēr būs pirmās. Bet reizēm vajag lai tomēr ir otrādi. Tad var noderēt šāda ļoti vienkārša pieeja:
SELECT *
FROM table
ORDER BY IF (column IS NULL, 1, 0) ASC, column ASC


14. October, 2008, 20:04
Šitādu “triku” man ir nācies pielietot diezgan bieži. Gan ne uz NULL vērtībām, bet vienkārši, kad dažiem īpašajiem ierakstiem pēc noteiktiem kritērijiem ir jābūt sākumā. T.i. uzrakstu atbilstošo IF’u, kurš tiem īpašajam kritērijam atbilstošajiem ierakstiem pieliek 1, bet pārējiem 0.
15. October, 2008, 14:54
OK un ja esat Oracle tad vienkārši pierakstiet pēc ASC/DESC klāt NULLS FIRST vai NULLS LAST, kas arī atbilst SQL standartam. Gan jau varbūt kādreiz arī citi to ieviesīs ;)
16. October, 2008, 0:32
Šad tad laikam ir gadījies arī ‘case’ pielietot kārtošanai - tas dod drusku lielāku brīvību/pārskatāmību
11. February, 2009, 10:42
Gints, PostgreSQL arī to atbalsta ;)
24. March, 2009, 10:18
[…] Kārtošana un NULL vērtības; […]