Я пытаюсь получить общее количество результатов запроса. Мне немного сложно объяснить, но то, что я хочу сделать, это что-то вроде: получить подсчет для каждого из результатов моего оператора select, который соответствует моему заявлению where.Результаты подсчета Mysql без дублирования
SELECT
users_profiles.account_num,
cases_visits.patient_visit_type,
select max (cases_visits.created_dt)
FROM `users_profiles`
join cases on cases.doctor_id = users_profiles.user_id
join cases_visits on cases_visits.case_id = cases.id
where cases_visits.patient_visit_type = 'NP'
Данное заявление дает мне все данные мне нужно, но каждый «users_profiles.account_num» будет иметь несколько соответствующих результатов «NP», а не просто подсчет количества результатов «НП» каждый «» users_profiles_account_num имеют , все они будут возвращены рядами. Мне также нужно добавить select max, чтобы получить максимальную дату NP вместе с подсчетом.
SELECT
users_profiles.account_num,
count(cases_visits.patient_visit_type)
FROM `users_profiles`
join cases on cases.doctor_id = users_profiles.user_id
join cases_visits on cases_visits.case_id = cases.id
where cases_visits.patient_visit_type = 'NP'
Этот запрос будет считать все «NP», но это все. Он вернет только один результат (1) 'users_profiles.account_num.
Другими словами, это то, что я получаю:
account_num| patient_visit_type
-------------------------------
12345 |NP
12345 |NP
12345 |NP
И это то, что я пытаюсь получить:
account_num| patient_visit_type| max created_dt
-----------------------------------------------
12345 |3 |10/20/2020
56746 |7 |10/20/2020
90000 |15 |10/20/2020
Для этого вам понадобится 'GROUP BY'. – EmCo