だから私はDrupalにこのSQLコードを持っています:
$query = db_query('SELECT wpv.nid, n.title, AVG(vote) average FROM {wp_votes} wpv
LEFT JOIN {node} n on wpv.nid = n.nid
GROUP BY wpv.nid
ORDER BY average DESC
LIMIT 3');
正常に動作しますが、db_selectを使用して記述する必要があります。
$query2 = db_select('wp_votes','wpv');
$query2->join('node','n','wpv.nid = n.nid');
$query2->fields('wpv',array('nid','vote'));
$query2->fields('n',array('title'));
$rez = $query2->execute()->fetchAll();
私の問題は、平均投票数を取得する方法がわからないことです(投票数は1、2、または3です)。AVG(vote)でパーツを書き直すにはどうすればよいですか。addEXpression('AVG(vote)')を試してみましたが、期待どおりに機能しませんでした。同じIDを持つエントリだけでなく、すべてのエントリの平均を取得しました。
ありがとう。