У меня есть таблица информации о клиенте, которую мне нужно вытащить из разных стран, но только там, где отметка времени новее последней проверки. Отдельные значения также должны отличаться от всех старых проверок.Выберите только новые дублирующие значения
Таблица:
Name City State created_at
Dan Springfield Ohio 2014-03-25 17:44:19.000000
Jon Philadelphia Pennsylvania 2014-03-25 17:44:19.000000
Sue Hollywood California 2014-03-25 17:44:19.000000
Ann Oxford Ohio 2014-03-25 19:44:19.000000
Al Chicago Illinois 2014-03-25 19:44:19.000000
Так сказать, я уже побежал проверять один раз и нашел Огайо, Пенсильвании и Калифорнии. Затем были добавлены две новые записи. В следующий раз, когда я запустил свой чек, мне нужно снова найти только Иллинойс, а не Огайо.
Я попробовал это,
SELECT State, created_at FROM (SELECT DISTINCT State, created_at FROM clients) as temp WHERE created_at > '2014-03-25 17:44:19.000000' ORDER BY State ASC
После запуска этого я понял, что мой мыслительный процесс был неправ на этом, как я все еще получаю дубликаты.
Я думаю, что мне нужно это, найти все новые записи
Select State FROM clients WHERE created_at > '2014-03-25 17:44:19.000000'
затем на этом результате,
Select State FROM результата WHERE государство не в (клиентов ГДЕ created_at < «2014- 03-25 17: 44: 19.000000 ')
Но я не знаю, как это сделать.
Спасибо за любую помощь.
Да, это сработало отлично. Спасибо. Любой шанс вы можете объяснить часть c? Я не понимаю, что делает «c». – NarayanJr
@ пользователь3462055. , , 'c' называется« псевдоним таблицы ». Это аббревиатура для имени таблицы. В этом контексте это необязательно, но иногда (особенно для самосоединений) это может быть необходимо. –