【问题标题】:Using set query MySQL - Kohana 3.0使用集合查询 MySQL - Kohana 3.0
【发布时间】:2013-12-22 13:24:53
【问题描述】:

我正在使用 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

【问题讨论】:

  • 为什么要分组???不要使用这样的查询。请参阅加入。
  • @Strawberry,它只是关于如何在 kohana DB::query(Database::SELECT,'your query'); ???
  • 我认为您可以将 SET 作为 SELECT 子查询包含在内,但这仍然是一个错误的查询。
  • 你能给我举个例子吗?

标签: php mysql kohana


【解决方案1】:

根据要求提供示例:

 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;

【讨论】:

  • 你能创建这个查询的视图,然后在视图上使用 kohana 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-29
相关资源
最近更新 更多