I have 3 tables, like:
parent(id, name)
children(id, data, parent_id, timestamp)
table_votes(id, user_id, child_id)
1) solution with subselect:
SELECT
children.id,
children.data,
children.parent_id,
children.timestamp,
(select count(*) from table_votes children.id = table_votes.child_id) as cntVotes
FROM
children
WHERE
children.parent_id = 20
ORDER BY
children.timestamp ASC
2) solution with group by:
SELECT
children.id,
children.data,
children.parent_id,
children.timestamp,
count(table_votes.id) as cntVotes
FROM
children
LEFT JOIN
table_votes ON children.id = v.child_id
WHERE
children.parent_id = 20
GROUP BY
children.id,
children.data,
children.parent_id,
children.timestamp
ORDER BY
children.timestamp ASC