Хитрый SQL запрос

PartizaneN

I speak PHP
Хитрый SQL запрос

Помогите вот с запросом справиться...

Есть 2 таблицы... одна - contract, 2-ая session ..
Итак одному айдишнику контрактов сопоставляется много сессий...

В сессиях хранится дата начала сессии...

Необходимо выбрать количество контрактов у которых сессия начиналась более 24 часов назад...

+ там есть еще условие на тип сессии...
PHP:
SELECT count(*) as counter
				FROM
				 contract c INNER JOIN session s ON c.Id=s.ContractId
				WHERE
					TO_DAYS(NOW())-TO_DAYS(max(s.StartTime))>1
				AND
					s.type = '1' and c.LastActivity !='3' GROUP BY c.Id
(если б такой запрос был бы возможен, то нум_роус от него бы дал нужный результат)...

Думаю уже каторый час - ничего не придумаю....
 

Necromant

Новичок
[sql]
SELECT count(*) as cnt FROM contract c WHERE c.Id IN (
SELECT s.ContractId FROM session s WHERE (UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(s.StartTime))<3600*24
)
[/sql]
 

PartizaneN

I speak PHP
Это не решает проблемы, т.к. сессий много, а нужно поставить условие именно на последнюю сессию...

-~{}~ 03.03.06 19:16:

Да и вообще результат выполнения твоей квэри удручает... нужен результат в районе 344 , а получается 51... :(
 
Сверху