Я использую MySQL. У меня есть 2 стола, к которым я присоединяюсь. Мне нужно использовать count (a.parent_id) как countcolumn, чтобы этот столбец был добавлен в таблицу, которую я создаю с помощью моего выбора. Я хочу знать номер, который появляется каждый «parent_id», но видеть все таблицы с столбцом в соответствии с запросом ниже. проблема заключается в том, что он возвращает только 1 запись и рассчитывает все родительские как там были такие же ..MYSQL с подсчетом или с номером
select count(parent_id) as count_column
, a.parent_id
, b.job_id
, a.status as parent
, b.status as subparent
, b.description
from jobs a
inner join jobs_steps b
on a.id=b.job_id
where name='XXX'
and a.status='FAILED'
order by a.parent_id desc
Если удалить счетчик родительский идентификатор в начале она возвращает 78 записей
select a.parent_id
, b.job_id
, a.status as parent
, b.status as subparent
, b.description
from jobs a
inner join jobs_steps b
on a.id=b.job_id
where name='XXX'
and a.status='FAILED'
order by a.parent_id desc
Я хочу, чтобы в 78 записях с новым столбцом был указан номер, который появляется каждый parent_id.
Даже если MySql не требует, (из-за [расширенная группа по] (https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html)) при использовании агрегатных функций, таких как count, max, avg, min, все столбцы, не являющиеся частью агрегации, должны быть включены в предложение 'group by'. В противном случае движок может выбрать одно значение из неагрегированных столбцов и вернуть его значение. Это было бы хорошо, если бы все значения были SAME, но если значения меняются, то определение группы скорее всего приведет к тому, что результаты будут ближе к желаемому. Это объясняет, почему вы просто получаете 1 запись. – xQbert
Я думаю, что вы хотите 'GROUP BY a.parent_id , b.job_id , a.status как родитель , b.status в subparent , b.description' не только a.parent_ID – xQbert