我在 MySQL 中有一个查询:
SELECT * FROM (
SELECT COUNT(*) AS count, t.name AS name
FROM tag t
INNER JOIN video_has_tag v USING (idTag)
GROUP BY v.idTag
ORDER BY count DESC
LIMIT 10
) as tags ORDER BY name
我想把这个写进教义中。我怎样才能做到这一点?我写:
Doctrine_Query::create()
->select('COUNT(t.idtag) as count, t.name')
->from('Tag t')
->innerJoin('t.VideoHasTag v')
->groupBy('v.idTag')
->orderBy('count DESC, t.name')
->limit(30)
->execute();
但我不能把它放在“from”中按名称排序。
这是一个答案:
$q = new Doctrine_RawSql();
$q->addComponent('t', 'Tag')
->select('{t.name}, {t.count}')
->from('(SELECT COUNT(*) as count, t.name,t.idtag
FROM Tag t
INNER JOIN Video_Has_Tag v USING(idTag)
GROUP BY v.idTag
ORDER BY count DESC
LIMIT 50) t')
->orderBy('name');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)