Попытка получить общее количество встреч для каждого состояния. получение ошибки в MySQL 1055

#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;