Če se mi kdaj zaplete pri programiranju, pa je to pri kakšnem bolj zahtevnem MySQL stavku in zato vas prosim za pomoč.
Imam tabelo zasebna_sporocila, ki ima takšno strukturo:
id | fromuser | touser | message | date
1 | 1 | 3 | blablabla | 1043684100
2 | 1 | 2 | blablabla | 1049146320
3 | 2 | 1 | blablabla | 1049146920
4 | 3 | 1 | blablabla | 1049147100
5 | 2 | 3 | blablabla | 1049153340
6 | 1 | 2 | blablabla | 1049627280
Z navadnim DISTINCT ukazom (SELECT DISTINCT fromuser, touser FROM zasebna_sporocila) dobim takšen rezultat:
fromuser | touser
1 | 3
1 | 2
2 | 1
3 | 1
2 | 3
Problem pa je, ker bi rad dobil unikatne poizvedbe. V zgornjem rezultatu se prikaže 1 2 in 2 1 - kar bi želel, da se prikaže kot en rezultat, saj bi rad dobil zgrupirana sporočila med dvema uporabnikoma. Nekako podobno kot ima to narejeno Facebook v zasebnih sporočilih.
Nekam bi moral še dodati poizvedbo WHERE (fromuser = 1 OR touser = 1) - rezultat za uporabnika, ki ima id 1.
Seveda moram potem na koncu rezultate urediti po datumu (ORDER BY date DESC).
Kakršnakoli pomoč več kot dobrodošla! Zakomplicirano? :)