SQL получает пользователей в пределах досягаемости - PullRequest
1 голос
/ 23 июня 2011

У меня есть база данных, которая хранится, когда пользователи подписываются и отписываются от услуги. Что я хочу сделать, это посмотреть, кто отписался каждый месяц, а затем посмотреть, сколько из этих людей отписались в течение 30 дней с момента подписки. У меня есть два поля, DateJoined_ и DateUnsub_, которые оба возвращают smalldatetime. Как мне найти этих людей, используя DateJoined и DateUnsub? Я знаю, что должен сделать какой-то расчет, и я мог бы сделать это легко, если бы я не использовал SQL - какие-либо предложения?

Ответы [ 3 ]

2 голосов
/ 23 июня 2011
SELECT *
FROM UserTable
WHERE DATEDIFF(day, DateJoined, DateUnSub) <= 30

http://msdn.microsoft.com/en-us/library/ms189794.aspx

1 голос
/ 23 июня 2011

Что касается получения количества пользователей, которые отписались каждый месяц, вы можете GROUP BY DATEPART(year, DateUnsub_), DATEPART(month, DateUnsub_) или вместо этого ограничить эти даты, чтобы получить список пользователей.

http://msdn.microsoft.com/en-us/library/ms174420.aspx

1 голос
/ 23 июня 2011

Какую СУБД вы используете? Для MySQL:

select * from table where DATEDIFF(DateUnsub_, DateJoined_) <= 30
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...