Запрос SQL

Технические вопросы по UTM 5.0
Закрыто
gtk
Сообщения: 232
Зарегистрирован: Пт янв 21, 2005 18:33

Запрос SQL

Сообщение gtk »

Всех с наступающим!

Хочу узнать кто из абонентов не оплачивал например два или три месяца. Не подскажите запросик в базу? :oops:

lexab
Сообщения: 21
Зарегистрирован: Пт сен 17, 2010 11:52

Сообщение lexab »

Где то так,

Код: Выделить всё

SELECT users.id as Id, 0 as Id-in, YEAR(FROM_UNIXTIME(start_date)) as god,MONTH(FROM_UNIXTIME(start_date)) as mes
FROM `blocks_info`
LEFT JOIN accounts ON accounts.id=blocks_info.account_id AND accounts.is_deleted=blocks_info.is_deleted
LEFT JOIN users_accounts ON users_accounts.account_id=blocks_info.account_id AND users_accounts.is_deleted=blocks_info.is_deleted
LEFT JOIN users ON users.id=users_accounts.uid AND users.is_deleted=users_accounts.is_deleted
WHERE blocks_info.is_deleted=0 AND  blocks_info.expire_date=2000000000 AND blocks_info.block_type=1 AND start_date<UNIX_TIMESTAMP&#40;DATE_SUB&#40;NOW&#40;&#41;, INTERVAL 62 DAY&#41;&#41;
Время выбрать по вкусу..

Это те кто заблокированы более чем хх дней. я так понимаю они и нужны?
Последний раз редактировалось lexab Чт дек 30, 2010 11:38, всего редактировалось 1 раз.

Аватара пользователя
ds
Сообщения: 380
Зарегистрирован: Пн сен 18, 2006 14:06

Сообщение ds »


gtk
Сообщения: 232
Зарегистрирован: Пт янв 21, 2005 18:33

Сообщение gtk »

lexab писал(а):Где то так,

Код: Выделить всё

SELECT users.id as Id, 0 as Id-in, YEAR&#40;FROM_UNIXTIME&#40;start_date&#41;&#41; as god,MONTH&#40;FROM_UNIXTIME&#40;start_date&#41;&#41; as mes
FROM `blocks_info`
LEFT JOIN accounts ON accounts.id=blocks_info.account_id AND accounts.is_deleted=blocks_info.is_deleted
LEFT JOIN users_accounts ON users_accounts.account_id=blocks_info.account_id AND users_accounts.is_deleted=blocks_info.is_deleted
LEFT JOIN users ON users.id=users_accounts.uid AND users.is_deleted=users_accounts.is_deleted
WHERE blocks_info.is_deleted=0 AND  blocks_info.expire_date=2000000000 AND blocks_info.block_type=1 AND start_date<UNIX_TIMESTAMP&#40;DATE_SUB&#40;NOW&#40;&#41;, INTERVAL 62 DAY&#41;&#41;
Время выбрать по вкусу..

Это те кто заблокированы более чем хх дней. я так понимаю они и нужны?



mysql> SELECT users.id as Id, 0 as Id-in, YEAR(FROM_UNIXTIME(1283332093)) as god,MONTH(FROM_UNIXTIME(1283332093)) as mes FROM `blocks_info` LEFT JOIN accounts ON accounts.id=blocks_info.account_id AND accounts.is_deleted=blocks_info.is_deleted LEFT JOIN users_accounts ON users_accounts.account_id=blocks_info.account_id AND users_accounts.is_deleted=blocks_info.is_deleted LEFT JOIN users ON users.id=users_accounts.uid AND users.is_deleted=users_accounts.is_deleted WHERE blocks_info.is_deleted=0 AND blocks_info.expire_date=2000000000 AND blocks_info.block_type=1 AND start_date<UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 62 DAY));
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-in, YEAR(FROM_UNIXTIME(1283332093)) as god,MONTH(FROM_UNIXTIME(1283332093)) as ' at line 1
mysql>


В чем может быть проблема?

Аватара пользователя
ds
Сообщения: 380
Зарегистрирован: Пн сен 18, 2006 14:06

Сообщение ds »

Код: Выделить всё

..as Id-in..
надо as Id_in

lexab
Сообщения: 21
Зарегистрирован: Пт сен 17, 2010 11:52

Сообщение lexab »

Код: Выделить всё

0 as Id_in,  
Вообще можно выкинуть, здесь это не важно.

gtk
Сообщения: 232
Зарегистрирован: Пт янв 21, 2005 18:33

Сообщение gtk »

lexab писал(а):Где то так,

Код: Выделить всё

SELECT users.id as Id, 0 as Id-in, YEAR&#40;FROM_UNIXTIME&#40;start_date&#41;&#41; as god,MONTH&#40;FROM_UNIXTIME&#40;start_date&#41;&#41; as mes
FROM `blocks_info`
LEFT JOIN accounts ON accounts.id=blocks_info.account_id AND accounts.is_deleted=blocks_info.is_deleted
LEFT JOIN users_accounts ON users_accounts.account_id=blocks_info.account_id AND users_accounts.is_deleted=blocks_info.is_deleted
LEFT JOIN users ON users.id=users_accounts.uid AND users.is_deleted=users_accounts.is_deleted
WHERE blocks_info.is_deleted=0 AND  blocks_info.expire_date=2000000000 AND blocks_info.block_type=1 AND start_date<UNIX_TIMESTAMP&#40;DATE_SUB&#40;NOW&#40;&#41;, INTERVAL 62 DAY&#41;&#41;
Время выбрать по вкусу..

Это те кто заблокированы более чем хх дней. я так понимаю они и нужны?


В обоих скриптах в двух местах подставляется время. Выставляется одинаковое время? Или интервал с какого по какое?

Аватара пользователя
ds
Сообщения: 380
Зарегистрирован: Пн сен 18, 2006 14:06

Сообщение ds »

Только начало, конец определяется через interval

Munsera
Сообщения: 126
Зарегистрирован: Чт янв 27, 2011 15:29

SQL запрос. Отчет по трафику за месяц

Сообщение Munsera »

Здравствуйте.
Подскажите SQL запрос для снятия статистики за месяц/день.

tail-n
Сообщения: 101
Зарегистрирован: Пн июн 01, 2009 02:32

Re: SQL запрос. Отчет по трафику за месяц

Сообщение tail-n »

Munsera писал(а):Здравствуйте.
Подскажите SQL запрос для снятия статистики за месяц/день.
tail -f /netup/utm5/log/debug.log

Munsera
Сообщения: 126
Зарегистрирован: Чт янв 27, 2011 15:29

Сообщение Munsera »

А я дебаг отключил...

Закрыто