X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Вопрос для тех, кто знает Sql
Root13
Root13
Topic Starter сообщение 22.10.2009, 21:38; Ответить: Root13
Сообщение #1


Завсегдатай
*****

Группа: Active User
Сообщений: 934
Регистрация: 9.3.2008
Из: Москва
Поблагодарили: 459 раз
Репутация:   68  


Есть сайт DLE, база потолстела за все время на 3 гигабайта, но это не суть,
задача, выбрать из базы новости определенной категории и даты,

про категории я знаю:

CODE
SELECT *
FROM `dle_post`
WHERE `category` =1
LIMIT 0 , 99999


но как задать условия выборки например по дате с 1.10.2009 по 20.10.2009?

Заранее спасибо.


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ветер
Ветер
сообщение 22.10.2009, 21:53; Ответить: Ветер
Сообщение #2


Новичок
*


Группа: User
Сообщений: 42
Регистрация: 19.10.2009
Поблагодарили: 30 раз
Репутация:   7  


Дата публикации в DLE содержится в поле dle_post.date

Для учета даты в запросе, Вы можете использовать SQL оператор between. В этом случае запрос будет выглядеть следующим образом:

select * from `dle_post`
where
  `dle_post`.`date` between '19.10.2009' and '20.10.2009';


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
isleman
isleman
сообщение 22.10.2009, 21:59; Ответить: isleman
Сообщение #3


Бывалый
****

Группа: User
Сообщений: 408
Регистрация: 16.10.2009
Из: НН
Поблагодарили: 83 раза
Репутация:   16  


допустим поле с датой у нас имеет названия date и тип данных datetime, тогда если мы хотим чтобы дата входила в интервал с 1.10.2009 по 20.10.2009, то sql-запрос изменится следующим образом:
SELECT *
FROM `dle_post`
WHERE `category` =1
AND `date` > '2009-10-01 00:00:00'
AND `date` < '2009-10-20 00:00:00'
LIMIT 0 , 99999


Сообщение отредактировал isleman - 22.10.2009, 22:02


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Root13
Root13
Topic Starter сообщение 22.10.2009, 22:00; Ответить: Root13
Сообщение #4


Завсегдатай
*****

Группа: Active User
Сообщений: 934
Регистрация: 9.3.2008
Из: Москва
Поблагодарили: 459 раз
Репутация:   68  


(Ветер @ 22.10.2009, 21:53) *
Дата публикации в DLE содержится в поле dle_post.date

Для учета даты в запросе, Вы можете использовать SQL оператор between. В этом случае запрос будет выглядеть следующим образом:

select * from `dle_post`
where
  `dle_post`.`date` between '19.10.2009' and '20.10.2009';


Спасибо, работает

CODE
select * from `dle_post`
where
`category` =1 and `dle_post`.`date` between '2009-10-1' and '2009-10-10';


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Ищу платёжный агрегатор для работы с физ. лизами (не ИП)
21 SergeiVL 2594 Сегодня, 16:26
автор: BestExchangers
Горячая тема (нет новых ответов) Букварикс - бесплатная программа для быстрого подбора ключевых слов
150 Bukvarix 73622 Сегодня, 16:20
автор: Smspva
Открытая тема (нет новых ответов) 10 бесплатных сервисов Google для бизнеса, о которых мало кто слышал
17 jack 5325 Сегодня, 13:26
автор: Catherine_Molli
Открытая тема (нет новых ответов) Чем сжимать картинки для сайта без потери качества
1st-finstep.ru - Заработок в сети и методы продвижения сайта
7 komarik_vlad 801 Сегодня, 9:47
автор: Mikki
Открытая тема (нет новых ответов) EasyTop - Бесплатный бот для накрутки ВКонтакте
3 DimaMyrzich 811 Сегодня, 4:30
автор: jingo


 



RSS Текстовая версия Сейчас: 12.12.2017, 16:37
Дизайн