how do I create a query like this with db_select:

select u.uid, u.name, count(n.id) from users u
join node n where u.uid = n.uid
group by u.uid

Comments

nevets’s picture

How about

$query = db_select('users', 'u')
   ->join('node', 'n', 'u.uid = n.uid')
   ->fields('u', array('uid', 'name');

$query->addExpression('COUNT(nid)', 'node_count');

$results = $query->execute();
lehuuphuc’s picture

It works. Thanks man.

lucas.matias’s picture

$result->execute()->rowCount();

you can count the row after the query.