webForumDet fria alternativet

vill ordna efter två kolumner "samtidigt"

Databaser & SQL

3 svar · 193 visningar · startad av ampy

Medlem sedan feb. 20011 498 inlägg
Frågan#1

Jag har ett problem som jag inte har stött på tidigare. :)

Jag har en tabell som har två kolumner. Med ett antal poster. Kan ungerfär se ut såhär:

kolumn1 | kolumn2
------------------------
Adrian | 1
2 | Bertil
3 | Carl
David | 4
Erik | 5

Nu skriver jag ut alla dessa poster i en loop och jag skulle vilja ordna det efter bokstavsordning. Nu är det så att namnet kan antingen finnas i kolumn1 eller i kolumn2, så det går bara inte att ange en kolumn i order by i sql-satsen.

Hur ska man lösa detta?
Kan man lösa detta direkt i sql-satsen?

Databas: MySQL.

Medlem sedan jan. 20032 285 inlägg
#2

Har du testat med

SELECT * FROM tabell ORDER BY kolumn1, kolumn2

?

Medlem sedan feb. 20011 498 inlägg
#3

Det blir ju inte riktigt rätt eftersom den ordnar då efter kolumn1 och om det finns ett namn som är likadant i kolumn1 så ordnar den efter kolumn2.

Medlem sedan mars 20034 471 inlägg
#4

Jag tycker att det verkar som att det verkliga problemet är designen av databasen. Det kolumninnehåll du beskriver ser inte så genomtänkt ut. Man bör aldrig lagra två olika saker i samma kolumn.

284 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
152 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
150 ms — ändringar (db)