2014-04-30 49 views
0

我正在处理我的sql查询,我按时间和日期排序,但不确定它为什么不排序正确。其显示日期29前30 .:SQL查询将不会按时间和日期排序

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 
+2

您能否提供样本数据和您当前得到的输出?这将有所帮助。 –

回答

3

这是因为它是按升序排序。如果你想要30岁以后29,那么你需要降序。

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 
+0

这确实按日期排序,但没有按时排序。 – user3580316

+0

你的时间是什么格式? –

+0

time(0)(HH:MM:SS) – user3580316