Klurig order by

Databaser & SQL

3 svar · 286 visningar · startad av erka

Medlem sedan dec. 19996 522 inlägg
Trådstart#1

Har ett litet problem

select * from messversion mv inner join mess m on m.mess_id = mv.mess_id
where m.person_id = 'ea178038-5494-4ae0-8659-d53842c59f0a'
order by m.mess_id, mv.updatedtime desc, mv.iscurrent

detta resulterar i att det först och främst sorteras på mess_id som är ett GUID, sedan på en meddelandeversions uppdateringstid, sedan på om meddelandeversionen är den absolut senaste.

Vad jag vill att det ska sorteras på är den meddelandeversion med senaste uppdateringen överst (samt iscurrent), sedan det meddelandets andra meddelandeversioner i fallande ordning.

Några idéer, går det lösa med sql

Medlem sedan dec. 200012 464 inlägg
#2

Kan du exemplifiera? Jag förstår inte vad du menar med: samt iscurrent.

Medlem sedan dec. 19996 522 inlägg
#3

iscurrent är en bit som fungerar som ett bolsk värde, endast en version kan vara iscurrent = 1, den ska komma överst för sina meddelanden så att säga.

Medlem sedan dec. 200012 464 inlägg
#4
select * from messversion mv inner join mess m on m.mess_id = mv.mess_id
where m.person_id = 'ea178038-5494-4ae0-8659-d53842c59f0a'
order by m.mess_id, mv.iscurrent desc,mv.updatedtime desc
379 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
126 ms — deklarationer (db)
115 ms — hämta statistik (db)
135 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)