У меня есть таблица (tbl) пользователей, у которых было несколько сканирований в одни и те же даты, а некоторые пользователи имели несколько сканирований на несколько дат.уникальная запись на нескольких неузнаваемых столбцах
user date scan
andy 20160301 T1
andy 20160301 T2
andy 20160301 T1
andy 20160401 T1
andy 20160401 T2
lee 20160401 T1
lee 20160401 T2
lee 20160701 T1
lee 20160701 T2
lee 20160801 T1
lee 20160801 T2
tom 20160501 T1
tom 20160501 T2
tom 20160501 T2
Я хотел бы количество уникальных дат для каждого пользователя (независимо от того, сколько сканирования происходило на каждую дату), так что-то вроде этого:
user NumVisits
andy 2
lee 3
tom 1
Я пытался несколько вещей, но ближайший я пришел к этому простому запросу:
SELECT user, COUNT(*) NumVisits FROM tbl GROUP BY user HAVING NumVisits > 1;
, который дает:
user NumVisits
andy 5
lee 6
tom 3
Проблема с этим выходом заключается в том, что она учитывает множественное сканирование на каждую дату. Может ли кто-нибудь помочь мне разобраться, как получить этот результат?
user NumVisits
andy 2
lee 3
tom 1
это прекрасно работает, и это так просто. Спасибо! – goodbenito