2014-02-03 3 views
0

Мне нужно отсортировать этот стол за час, с 19 до 18 на следующий день.Таблица для заказа по часам

Hour HourCount 
0  234 
1  322 
2  333 
3  433 
4  544 
5  589 
6  675 
7  688 
8  734 
9  789 
10 821 
11 892 
12 922 
13 954 
14 987 
15 996 
16 1007 
17 1068 
18 1121 
19 0 
20 36 
21 78 
22 126 
23 189 

Как я могу это сделать? Есть ли какой-либо метод, который я могу упорядочить по набору чисел?

+1

Покажите нам свой дизайн стола. Как вы дифференцируете один день из следующего? – Raj

+0

Данные вставляются в эту таблицу в зависимости от времени, создаваемого на машине, и используют datepart (hh, TransTimeStamp). Таким образом, остальное время не записывается. Фактически это хранимая процедура, которая только строит день с 19 до 18, не будет больше дней или часов, чем пример таблицы. Но это может быть меньше часов – Whistler

ответ

1
SELECT * 
FROM TABLE1 
ORDER BY CASE WHEN HOUR > 17 THEN -1 
       ELSE HOUR 
     END 
+0

Извините, не получите ваш ответ? Что «задает какое-то условие»? – Whistler

+0

Если час превышает 17, что вы будете делать. –

+2

Используйте 'CASE WHEN HOUR> 18 THEN -1 ELSE HOUR END'. [SQL FIDDLE DEMO] (http://sqlfiddle.com/#!6/b4080/4) – praveen

Смежные вопросы