Mysql Distinct
Šiandien kažkaip užsižaidžiau su labai paprasta užduotimi, kuriai reikia išrinkti unikalius vardus, ir tam tikra kryptimi surikiuoti. Lentelė yra didelė, pateiksiu tik minimalų pavyzdį.
nr | type | lan | page |
1 | small | lt | 4 |
15 | big | en | 10 |
18 | good | de | 54 |
25 | small | lt | 4 |
15 | no | ru | 8 |
48 | small | lt | 4 |
taigi. reikia man išrinkti unikalius vardus tokiu pricipu (gaila bet neveikia)
SELECT DISTINCT type,lan,page FROM lentele order by nr
taigi ka as noriu gauti, 1 eiliskuma ziurint pagal tipa small, big, good, no. Problema yra ta kad gaunu unikalius, bet ne tokiu rikiavimo požymiu. Toks vaizdas kad DISTINCT jei randa uzdeda ant viršaus, taigi aš small gausiu paskutinėje vietoje o reikia kad būtu pirmoje.
Gal kas turite idėjų?
Gaila bet duomenų bazėje nėra “tipo” rikiavimo požymio, aš su mielu noru pasidaryčiau, jis gali kisti….ty big atsirasti numeriu 1. Taigi tą duomenų bazę valdau ne aš…
Paprastai atvaizduojant viskas gražiai gaunasi, lengvai small idedu 1 vietoj… bet norint turėti unikalius, pagal tą patį rikiavimo požymį jau atsiranda problema….