Question

I am working on my sql query where I order by time and date but unsure why it's not ordering correct. Its showing date 29 before 30.:

SELECT measurements.title as Tittel, routines.value as Verdi, CONVERT(VARCHAR(10),routines.date,103) as Dato, convert(VARCHAR(10), routines.time, 108) as Tid, pools.name as Basseng, emps.user_name as Ansatt
FROM routines, measure_routine, measurements, pools, emps
WHERE routines.id = measure_routine.routine_id
AND measure_routine.measure_id = measurements.id
AND (measurements.title  Like 'T_%') AND measure_routine.pool_id=pools.id AND routines.emp_id=emps.id 
AND Date between '2014-04-29' and '2014-04-30'
order BY routines.date, routines.time
Was it helpful?

Solution

That's because it's sorting ascending. If you want 29 after 30, then you need descending.

SELECT measurements.title as Tittel, routines.value as Verdi, CONVERT(VARCHAR(10),routines.date,103) as Dato, convert(VARCHAR(10), routines.time, 108) as Tid, pools.name as Basseng, emps.user_name as Ansatt
FROM routines, measure_routine, measurements, pools, emps
WHERE routines.id = measure_routine.routine_id
AND measure_routine.measure_id = measurements.id
AND (measurements.title  Like 'T_%') AND measure_routine.pool_id=pools.id AND routines.emp_id=emps.id 
AND Date between '2014-04-29' and '2014-04-30'
order BY routines.date desc, routines.time desc
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top