Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> несколько between в запросе 
V
    Опции темы
Hellka
Дата 17.7.2009, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 2.2.2006

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



нужно сделать выборку по датам, причем у дат несколько диапазонов. допустим мне нужно достать записи с диапазоном дат a-b и c-d никак не могу понять, как использовать 2 betweena пишу:
Код

 SELECT member_id, COUNT( msg_id ) AS total
FROM `ibf_messages`
WHERE read_state !=1
AND msg_date
BETWEEN 1247723733
AND 1247726350 ,
BETWEEN 1247380833
AND 1247294433
GROUP BY member_id


выдает ошибку, в гугле насчет этой проблемы не нагуглил, везде показывается одноразовое использование -)
PM MAIL   Вверх
bars80080
Дата 17.7.2009, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



Код

WHERE read_state !=1 AND (msg_date BETWEEN 1247723733 AND 1247726350) or (msg_date BETWEEN 1247380833 AND 1247294433) GROUP BY member_id

?
PM MAIL WWW   Вверх
Ипатьев
Дата 17.7.2009, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



Hellka, составляя запрос, надо помнить, что указываемое выражение применяется к каждой строке по очереди, а не ко всем сразу.
У тебя есть строка, в которой дата одновременно между 1247723733 и 1247726350 и между 1247380833 и 1247294433? 
Вряд ли.

bars80080, одну пару скобок забыл.
PM MAIL   Вверх
bars80080
Дата 17.7.2009, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



Цитата(Ипатьев @  17.7.2009,  10:22 Найти цитируемый пост)
одну пару скобок забыл. 

есть такое

Код

WHERE read_state !=1 AND ((msg_date BETWEEN 1247723733 AND 1247726350) or (msg_date BETWEEN 1247380833 AND 1247294433)) GROUP BY member_id

PM MAIL WWW   Вверх
Hellka
Дата 17.7.2009, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 2.2.2006

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



Код

SELECT member_id, COUNT(msg_id) as total
                        FROM ibf_messages
                        WHERE read_state!=1 AND
                        ((msg_date BETWEEN  {$t_limit} AND ". time() .")
                        OR
                        (msg_date BETWEEN {$t_limit_week12} AND {$t_limit_week11}))
                        GROUP BY member_id


вот как вышло)

up: спасибо за помощь)

Это сообщение отредактировал(а) Hellka - 17.7.2009, 10:55
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




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


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

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