我正在使用Kohana 3.0和MySQL
如何使用DB :: query(Database :: SELECT,'your query');当使用这样的查询时:

$query = DB::query(Database::SELECT,
"SET @id_draw=0;
SELECT *
FROM
(
    SELECT a.sender,a.recipient,@id_draw:=@id_draw+1 AS id_draw
            FROM  `gifts` a
            WHERE a.sender = 1499089137
            AND a.sender = (
                SELECT DISTINCT b.recipient
                FROM  `gifts` b
                WHERE b.sender = a.recipient
                AND b.recipient = 1499089137
            )
    GROUP BY a.sender,a.recipient
)x
WHERE x.id_draw = RAND()");



我的问题是使用时出现错误:


SET @ id_draw = 0;
@id_draw:= @ id_draw + 1 AS id_draw

最佳答案

要求的示例:

 SELECT something
      , another_thing
      , @prev := @curr
      , @curr := amount
      , @rank := CASE WHEN @prev = @curr THEN @rank ELSE @rank+1 END rank
   FROM somewhere
      , (SELECT @curr := null, @prev := null, @rank := 0) defs
  ORDER
     BY another_thing DESC;

关于php - 使用设置查询MySQL-Kohana 3.0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20729924/

10-12 13:05
查看更多