当我尝试在 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 上运行它时会发生什么,当我在网站上尝试它时,它只为每种游戏类型返回一个游戏名称。有人知道它发生的原因吗?如何解决?也许如何使用标准运行它?请帮我。
顺便说一句,我使用这个查询(tnx to Andomar)的原因是因为其他查询占用了大量资源。