Topic: Uzklausa, istraukianti is leneteles pirma iraso raide

Sveiki!
Zodziu kuriu uzklausa, kuri is lenteles, kurioje yra informacija apie vaizdo irasus (id, artist, title), paimtu tiktais iraso pirma raide ir paskaiciuotu kiek yra irasu prasidedanciu sia raide. Uzklausa:
SELECT DISTINCT( LOWER( SUBSTRING( artist, 1, 1 ) ) ) AS letter, COUNT(artist) AS count FROM video GROUP BY letter;
Viskas atrodo gerai, taciau noreciau, kad irasus, kurie prasideda skaiciais, uzklausa gruputo i viena kintamojo letter reiksme (pvz.: 0-9). Siuo metu ji grupuoja i atskiras reiksmes pvz., jei artist reiksme yra 2pac, letter = 2, jei 50 cent, letter = 5. Gal kas turit kokiu sprendimu arba galetumete nukreipti gera linkme?

Re: Uzklausa, istraukianti is leneteles pirma iraso raide

La,

Ilgai nesigilinant teisingas sprendimas būtų į lentelę pridėti papildomą stulpelį VARCHAR(1), kuriame INSERT'o metu įrašytum pirmą įrašo raidę, o skaičiaus atveju tarkim 0. Manau išgauti pirmų simbolių sąrašą būtų daug lengviau, o ir resursū naudotų daug mažiau. Atvaizduojant "0" pakeistum į "0-9". Turint daug įrašu toks būdas labai pagreitintų visą užklausą.

Re: Uzklausa, istraukianti is leneteles pirma iraso raide

Taciau man reikia rikiuto ne tik pagal autoriaus bet ir pagal pavadinimo pirma raide. Tada reiktu prideti du papildomus stulpelius, bet gal yra optimalesniu variantu?

Re: Uzklausa, istraukianti is leneteles pirma iraso raide

Tai pridėk stulpelių kiek reikia. Aš manau, kad geriau turėti du papildomus stulpelius, negu kas kartą dinamiškai išgavinėti pirmą raidę.