У меня есть две таблицы: «userlist», в котором есть столбцы «grade» и «userID», и таблица «login», которая записывает каждый раз, когда пользователь входит в систему. В таблице входа есть столбец «userID», который связан с 'userID'. В эту таблицу входа в нее вставляется строка каждый раз, когда пользователь входит в систему, поэтому, если пользователь входит в систему три раза, в эту таблицу будут добавлены три строки.
Мне нужно выполнить запрос, который возвращает количество уникальных входов в систему за класс.
Т.е.: Grade0 = 20 логинов, Grade1 = 30 логинов
У меня такое ощущение, что это комбинация DISTINCT, COUNT и GROUP BY, но я не могу понять это правильно ...
Этот запрос неверен:
SELECT DISTINCT(userID), COUNT(*) as count, u.grade FROM userlist as u, login as l WHERE u.userID = l.userID GROUP BY u.grade, u.userID
Он не возвращает уникальные логины, но все логины (то есть, если пользователь вошел в систему дважды, он учитывается дважды).