webForumDet fria alternativet

fråga om SELECT

3 svar · 186 visningar · startad av Virrdo

VirrdoMedlem sedan okt. 2001152 inlägg
#1

Hur skriver jag en SELECT sats som först ska hämta resultatet med "tiden" mellan 12.00 och 24.00 och sen med "tiden" mellan 00.00 och 12.00 ?

LarsGMedlem sedan dec. 200012 464 inlägg
#2
select * from t
order by case when hour(dateColumn) between 12 and 24 then 0 else 1 end
VirrdoMedlem sedan okt. 2001152 inlägg
#3

Jag kanske skulle ha varit litet mer specifiderad:
jag har en kolumn som heter "tid", jag använder mig alltså inte av någe av mysql's inbyggda tidsfunktioner.

Satserna jag använder nu ser ut

mysql_query("SELECT * FROM tabellen WHERE dag='$dag' HAVING tid >= 12.00 AND tid <= 24.00 ORDER BY tid ASC";

respektive

mysql_query("SELECT * FROM tabellen WHERE dag='$dag' HAVING tid >= 00.00 AND tid < 12.00 ORDER BY tid ASC")

min fråga är alltså hur jag ska gå till väga för att "slå ihop" de båda satserna så jag slipper onödig kod

LarsGMedlem sedan dec. 200012 464 inlägg
#4
mysql_query("SELECT * FROM tabellen WHERE dag='$dag' ORDER BY case when tid between 12.00 and 24.00 then 0 else 1 end")
134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)