navicatで実行しようとすると、変数を使用するクエリがあります。これはうまく機能します。しかし、何らかの理由で、Yiiで実行する際に問題が発生します。
私はこのコードを使用します:
$connection = Yii::app()->db;
$sql = "
select s.name, s.type
from (
select *
, (@rn := if(@cur=type, @rn+1, 1)) as rn
, @cur := type
from games
join (select @cur := '') i
order by
type
) s
where rn <= 10 ";
$command = $connection->createCommand($sql);
$results = $command->queryAll();
このクエリでは、各ゲームタイプから10個のゲーム名を選択する必要があります。navicatで実行するとどうなるか、サイトで試してみると、ゲームタイプごとに1つのゲーム名しか返されません。誰かがそれが起こる理由を知っていますか?それを修正する方法は?多分それを基準でどのように実行しますか?私を助けてください。
ところで、私がこのクエリ(tnxからAndomar)を使用する理由は、他のクエリが多くのリソースを消費するためです。