Я подсчитываю строки в таблице mysql, называемой ptb_profile_views
.
Моя таблица выглядит так:
id | profile_id | viewed_profile_id | date_time | 1 1 6 2 2 6 3 2 6 4 2 6 5 3 6
В настоящий момент мой запрос подсчитывает все строки в таблице. Тем не менее, я только хочу, чтобы он подсчитывал строки, которые не содержат повторяющихся значений в profile_id
.
Поэтому, если пользователь 2 / profile_id 2 просматривает профиль пользователя 6 несколько раз, что в этом случае они делают, я хочу, чтобы запрос подсчитывал один раз. Я пытаюсь использовать разные, но не работает. Может кто-нибудь, пожалуйста, покажите мне, где я ошибаюсь?
function check_profile_views() { global $connection; global $_SESSION; $query = "SELECT DISTINCT COUNT(id) FROM ptb_profile_views WHERE viewed_profile_id=".$_SESSION['user_id']." AND profile_id='0'"; $check_profile_views_set = mysql_query($query, $connection); confirm_query($check_profile_views_set); return $check_profile_views_set; }
Попробуйте следующее (при условии, что view_profile_id равно 6):
SELECT COUNT(DISTINCT profile_id) FROM ptb_profile_views WHERE viewed_profile_id=6