Предположим, у меня есть таблица MySQL с двумя столбцами:
id invited_by_id
и я хочу знать для каждый идентификатор, сколько раз он появляется в столбце invited_by_id.
invited_by_id
Как сделать это, используя только один запрос?
Простой GROUP BY в столбце invited_by_id - это все, что вам нужно, поскольку он содержит те же значения идентификатора, что и столбец id:
GROUP BY
id
SELECT invited_by_id, COUNT(*) AS invited_count FROM table GROUP BY invited_by_id
select id1.id, (count*) from id as id1 inner join id as id2 on id1.id = id2.invited_by_id group by id1.id
SELECT m.id , grp.cnt FROM ( SELECT DISTINCT id FROM mytable ) AS m LEFT JOIN ( SELECT invited_by_id , COUNT(*) AS cnt FROM mytable GROUP BY invited_by_id ) AS grp ON grp.invited_by_id = m.id
select invited_by_id, count(*) from table group by invited_by_id