Модераторы: skyboy

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как найти последнюю дату 
:(
    Опции темы
Gold Dragon
Дата 15.11.2005, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



У меня дата храниться в следующем виде
`data_user` varchar(8) NOT NULL default '00000000'

и соответственно даты записываются к примеру 15112005

Как мне составить запрос чтобы найти последнюю дату?



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Kesh
Дата 15.11.2005, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Red Dragon тебе надо будет преобразовывать 15112005 в 20051115 - а тогда уже сортировать по убыванию...
или преобразовывать varchar в date - а там уже опять по убыванию...
Добавлено @ 14:14
Что-то вроде этого... Проверить сейчас не могу - нету мускула под рукой...
Код

SELECT RIGHT(data_user,4)||SUBSTRING(data_user,3,2)||LEFT(data_user,2) AS `data_sort`
FROM `your_table`
ORDER BY `data_sort` DESC



--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Gold Dragon
Дата 15.11.2005, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Kesh
что-то не работает... поясни что там где

PS
а тупо найти максимальное значение по полю не получится?



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Ignat
Дата 15.11.2005, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 21
Всего: 73



Цитата(Red @ 15.11.2005, 14:31)
а тупо найти максимальное значение по полю не получится?

В том варианте который есть нет.

Цитата(Red @ 15.11.2005, 14:31)
что-то не работает...

С ошибкой или без?


--------------------
Теперь при чем :P
PM   Вверх
Kesh
Дата 15.11.2005, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Red Dragon может быть из-за || - это символ объединения строк... вместо него можно использовать +...
А там идет просто склеивание последних четырех символов (год) с двумя средними (месяц) и с двумя первыми (дата)...
Добавлено @ 15:43
Цитата(Kesh @ 15.11.2005, 15:42)
вместо него можно использовать +...

или CONCAT


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Gold Dragon
Дата 15.11.2005, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



я запускаю запрос в phpMyAdmin и он мне выдаёт, какой то странный результат.. таблицу с одним полем data_sort и со значениями 1
Добавлено @ 16:25
т.е. в таблице 23 записи... и выходит 23 записи, но с единицами


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Ignat
Дата 15.11.2005, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 21
Всего: 73



Цитата(Kesh @ 15.11.2005, 15:42)
или CONCAT

Код

SELECT *, CONCAT(RIGHT(data_user,4), SUBSTRING(data_user,3,2), LEFT(data_user,2)) AS `data_sort`
FROM `your_table`
ORDER BY `data_sort` DESC

А так?


--------------------
Теперь при чем :P
PM   Вверх
Kesh
Дата 15.11.2005, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Блин, ну дайте до дома добраться...
Я обязательно посмотрю...
Дома...
На своем мускуле...
smile


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
sergejzr
Дата 15.11.2005, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 1
Всего: 360



Храни время нормально! Иначе рано или поздно это всё равно боком выйдет!


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Gold Dragon
Дата 16.11.2005, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Ignat
всё работает отлично

только поясните сам запросс... . возвращается новая строка из 4-х справа + 2 начиная с третьей позиции + 2 слева? а дальше что, создаётся временная таблица?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Kesh
Дата 16.11.2005, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Red Dragon Да нет... просто по этой новой строке и идет сортировка...

Добавлено @ 10:44
А вообще...

Цитата(sergej @ 15.11.2005, 18:15)
Храни время нормально! Иначе рано или поздно это всё равно боком выйдет!




--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Gold Dragon
Дата 16.11.2005, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Kesh
мне так удобнее хранить, просто на сайте так формируется... хотя подумаю

PS
зато расширил свои познания в запросах smile


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Kesh
Дата 16.11.2005, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Red Dragon а ты себе представь, какая нагрузка ляжет на сервер при разбиении склеивании строк, когда этих строк в запросе станет более 10000... Ведь даже при выборе по LIMIT у тебя пееклеиваться буут все строки а потом уже будет срабатывать фильтр...


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Ignat
Дата 16.11.2005, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 21
Всего: 73





--------------------
Теперь при чем :P
PM   Вверх
Gold Dragon
Дата 16.11.2005, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



вы меня переубедили, буду переделывать на "нормальное" хранение....

а как в этом случае найти последнюю дату?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0889 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.