Nisam toliki znalac za baze, mozda je i moguce, ali moje resenje bi bilo da pokupim podatke pa ih sortiram naknadno.
Primeni neki sort algoritam, ali mu stavi komparator koji ce da koristi string za poredjenje
tipa, ako je php, postoji funkcija usort();
PHP kôd:
// prvo napravimo komparator, koji vraca 1 ako je prvi veci od drugog, -1 ako je manji, i 0 ako su jednaki.
function komparator($str1, $str2) {
if ($str1 == $str2) {
return 0;
} // da skratimo posao, prvo provedimo dal' su jednaki
$cmp = "aаbбvвgгdдđђ...."; // itd - string koji sadrzi poredjana cir. i lat. slova.
$len1 = strlen($str1); $len2 = strlen($str2);
$len = ($len1 <= $len2) ? $len1 : $len2; // duzina petlje jednaka duzini kraceg stringa
for ($i = 0; $i < $len; $i++) {
$chr1 = strtolower($str1[$i]); // uzimamo i-ti karakter stringa
$chr2 = strtolower($str2[$i]);
if (strpos($cmp, $chr1) > strpos($cmp, chr2)) {
return 1;
} else if (strpos($cmp, $chr1) < strpos($cmp, chr2)) {
return -1;
}
}
// ako su stringovi identicni do duzine kraceg, onda smo se nasli ovde
if ($len1 > $len2) {
return 1;
} else if ($len2 > $len1) {
return -1;
}
// ako smo se nasli ovde, onda su identicni i jednakih duzina
// pa posto smo to proverili na pocetku, to znaci da nikako ne bi trebalo ovde da se nadjemo :)
return 0;
}
// sad pozovemo usort na nizu koji sortiramo, i prosledimo naziv komparatora kao argument
usort($array, "komparator");
U slucaju jave je slicno, imas Collections.sort() i napravis mu comparator, slican ovom iz php-a samo se malo drugacije operise sa stringovima.
Naravno ako neko ima SQL-only resenje, bio bih odusevljen da ga vidim
