#mysql #sql #group-by
#mysql #sql #группировка по
Вопрос:
Вот мой запрос, в котором я пытаюсь получить данные о встречах по состоянию
select address.state , patient.pt_id , appointment.apt_id from address inner join patient on address.address_id = patient.address_id inner join appointment on appointment.pt_id = patient.pt_id group by address.state;
Это оператор, который я пытаюсь запустить, чтобы посмотреть, смогу ли я получить список встреч. Если я удалю группу по разделам, база данных вернет таблицу, в которой есть все упоминания о состоянии, pt_id и apt_id, но мне нужно сгруппировать их по состояниям и подсчитать, сколько назначений в каждом состоянии. При попытке сгруппировать по состоянию я получаю следующую ошибку
«Код ошибки: 1055. Выражение # 2 списка ВЫБОРА отсутствует в предложении GROUP BY и содержит неагрегированный столбец ‘U07uXB.patient.pt_id’, который функционально не зависит от столбцов в предложении GROUP BY; это несовместимо с sql_mode=only_full_group_by»
Ответ №1:
select
address.state stateName,count(1)
from
address
inner join patient on
address.address_id = patient.address_id
inner join appointment on
appointment.pt_id = patient.pt_id
group by
stateName;