webForumDet fria alternativet

Klurig order by

Databaser & SQL

3 svar · 273 visningar · startad av erka

Medlem sedan dec. 19996 522 inlägg
Frågan#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
263 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
134 ms — ändringar (db)