我一直想不出为什么.
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语句是:
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;
}}
?>
发布于 2013-03-02 19:32:59
我不能解释这个问题,但是您可以消除表达式中的子查询。也许这会有帮助:
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 1https://stackoverflow.com/questions/15178319
复制相似问题