Задавайте вопросы, мы ответим
Вы не зашли.
Имеется таблица tab1 c полями:
NAME | TIME
name_1 | 01.09.2011
name_2 | 02.09.2011
name_3 | 03.09.2011
name_4 | 04.09.2011
name_3 | 05.09.2011
name_1 | 06.09.2011
name_7 | 07.09.2011
Нужно на выходе получить данные отсортированные следующим образом:
NAME | TIME
name_1 | 01.09.2011
name_1 | 06.09.2011
name_2 | 02.09.2011
name_3 | 03.09.2011
name_3 | 05.09.2011
name_4 | 04.09.2011
name_7 | 07.09.2011
Подскажите пожалуйста как правильно с наименьшей нагрузкой выполнить данную сортировку
Неактивен
Для скорости добавьте индексы на временные поля (к слову, в каком формате дату храните? надо бы в date, чтобы сравнение/сортировка нормально работали).
А сам запрос - через union'ы, по очереди по всем name'ам.
Неактивен
Есть несколько имен пользователей совершивших действие в какоето время, нужно представить данные в порядки наистарейшего действия, а затем ниже записать все действия этого пользователя в хронологическом порядке, затем находим следующего пользователя который совершил действие после предыдущего, и записываем его действия в хронологическом порядке и т.к. далее. Т.е. первым будет name_1 т.к. его дата действия самая ранняя, затем опять name_1 (т.к. нужно перечислить все действия пользователя в хронолог. порядке), следующий name_2 т.к. он после первого действия name_1 наиболее ранний и т.д. Надеюсь объяснил доступно.
Неактивен
Вы не написали, в каком формате хранится дата.
Неактивен
Дата хранится вот в таком формате: 2012-01-09 11:13:18
Неактивен
я про другое. Покажите результат запроса show create table tab1.
Неактивен
Сейчас не могу показать, БД на другом компьютере, что вы хотите узнать?
Неактивен
Ну, как сможете, так и и покажите. А если еще и дамп самой таблички приложите, так совсем хорошо будет . В форме insert into...
Неактивен
Формат данных DATETIME
Неактивен
1 INSERT INTO
2 `tab1` (`name`, `col1`, `col2`, `time`)
3 VALUES
4 ('$name[$i]', '$col1[$i]', '$col2[$i]', '$time[$i]')
Неактивен
Тогда порядок. Если запрос по моим рекомендациям затрудняетесь составить, то приложите show create table tab1 и данные таблицы в формате insert into... (данные не обязательно все, главное, чтобы минимальный тестовый набор был, на котором запрос отладить можно).
Неактивен
Так в первом же посте приведен пример или этого не достаточно? Давайте считать что данные введены в тех форматах в которых нужно для корректной работы. Как организовать нужную сортировку?Спасибо.
Неактивен
order by NAME, `TIME` ?
Неактивен
vasya написал:
order by NAME, `TIME` ?
Тогда получится что имена будут в алфавитном порядке, а затем в хронологическом, в итоге первым будет пользователь не тот который совершил действие раньше, а тот у которого имя по алфавиту раньше. А надо чтобы первым был тот кто совершил действие раньше, после был писок всех его действий, затем следующий пользователь в хронологич. порядке
Неактивен
Неактивен