|
Execute упорядочивание при запросе к mysql | ☑ | ||
---|---|---|---|---|
0
slaaay
13.02.15
✎
13:03
|
Делаю запрос к mysql с полями содержащими id и время. Так вот как мне упорядочить записи по времени при запросе или уже делать это в 1с? Т.е. например идет такая вещь:
id time 1 10:40 1 11:30 1 17:15 1 19:20 1 8:59 а мне надо чтобы 8:59 было вначале. для того чтобы сработал метод group. Т.е. чтобы осталось последнее и первое время. |
|||
1
igork1966
13.02.15
✎
13:04
|
(0) для ответа на вопрос нужно сначала знать тип данных поля time
|
|||
2
slaaay
13.02.15
✎
13:05
|
Соединение.Execute("select emphint, ord(substr(logdata,5,1)) as dir, emphint,time(min(logtime)) as intime, time(max(logtime)) as offtime from logs group by emphint")
делаю как то так оставляет первое время 11:30 а должен 9:04 |
|||
3
igork1966
13.02.15
✎
13:05
|
(1) + если текст, то как вариант можно выровнять нулем слева на sql
|
|||
4
slaaay
13.02.15
✎
13:05
|
(1) дата я так понимаю. не силен в mysql
|
|||
5
igork1966
13.02.15
✎
13:06
|
(2) ты уверен в порядке параметров substr ?
|
|||
6
igork1966
13.02.15
✎
13:07
|
(2) + из твоего запроса неясно какой тип данных logdata
|
|||
7
slaaay
13.02.15
✎
13:08
|
(4) блин если дата то почему min и max как то странно работает
|
|||
8
slaaay
13.02.15
✎
13:09
|
(6) не силен в mysql эту строчку скопировал с источника одного. и что означает ord(substr(logdata,5,1)) as dir не понимаю
|
|||
9
igork1966
13.02.15
✎
13:11
|
(8) вообще запрос какой-то странный.... несоблюдается требование о включении полей в группировку, если они есть в списке полей в без агрегата
|
|||
10
igork1966
13.02.15
✎
13:13
|
integer ORD(str string)
В случае, если первый левый символ строки str является многобайтовым, возвращает его код в формате: ((первый байт ASCII- код)*256+(второй байт ASCII -код))[*256+третий байт ASCII -код...]. Если первый левый символ строки str не является многобайтовым, то действие аналогично действию функции ASCII() - возвращает ASCII-код первого левого символа строки str. Примеры: mysql> select ORD('2'); -> 50 См. также ASCII(). |
|||
11
igork1966
13.02.15
✎
13:15
|
select emphint, ord(substr(logdata,5,1)) as dir, emphint,time(min(logtime)) as intime, time(max(logtime)) as offtime from logs group by emphint, ord(substr(logdata,5,1))
|
|||
12
igork1966
13.02.15
✎
13:16
|
(11) + есть вероятность что logtime не датавремя а текст
|
|||
13
igork1966
13.02.15
✎
13:18
|
select emphint, ord(substr(logdata,5,1)) as dir, emphint,time(min(right('00'+logtime, 5))) as intime, time(max(right('00'+logtime, 5))) as offtime from logs group by emphint, ord(substr(logdata,5,1))
|
|||
14
igork1966
13.02.15
✎
13:19
|
(13) Это если ты в (0) во второй колонке выводишь logtime и она текст
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |