首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql查询发布日期减去7天

Mysql查询发布日期减去7天
EN

Stack Overflow用户
提问于 2013-03-02 19:13:43
回答 1查看 14.4K关注 0票数 3

我一直想不出为什么.

代码语言:javascript
复制
SELECT
  i.user_id
FROM (SELECT
    SUM(us.score) AS score_sum,
    us.user_id
      FROM user_scores us
      WHERE us.created >= DATE(DATE_SUB(NOW(),INTERVAL 7 DAY))
      GROUP BY us.user_id) AS i
ORDER BY i.score_sum
LIMIT 1

带有消息的异常“CDbException”

CDbCommand未能执行SQL语句: CDbCommand未能准备SQL语句: SQLSTATEHY000: General :1,接近"7":语法错误。

执行的SQL语句是:

代码语言:javascript
复制
SELECT
  i.user_id
FROM (SELECT
    SUM(us.score) AS score_sum,
    us.user_id
      FROM user_scores us
      WHERE us.created >= DATE(DATE_SUB(NOW(),INTERVAL 7 DAY))
      GROUP BY us.user_id) AS i
ORDER BY i.score_sum
LIMIT 1



<?php

class WinnerCommand extends CConsoleCommand
{
    public function actionSelect()
    {
        $sql = "SELECT i.user_id FROM
            (SELECT SUM(us.score) AS score_sum, us.user_id FROM user_scores us
            WHERE us.created >= DATE(DATE_SUB(NOW(),INTERVAL 7 DAY))
            GROUP BY us.user_id) AS i
            ORDER BY i.score_sum
            LIMIT 1";
        $user_id = Yii::app()->db->createCommand($sql)->queryScalar();
        echo $user_id;
        return $user_id;
    }

}

?>

EN

回答 1

Stack Overflow用户

发布于 2013-03-02 19:32:59

我不能解释这个问题,但是您可以消除表达式中的子查询。也许这会有帮助:

代码语言:javascript
复制
        SELECT us.user_id
        FROM user_scores us
        WHERE us.created >= DATE(DATE_SUB(NOW(), INTERVAL 7 DAY))
        GROUP BY us.user_id)
        ORDER BY SUM(us.score)
        LIMIT 1
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15178319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档