Requête Mysql Date de publication Date de moins de 7 jours
Ce qui maintient à venir avec une erreur et je ne peux pas comprendre pourquoi...
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
exception CDbException' avec message
CDbCommand échec de l'exécution de l'instruction SQL: CDbCommand a échoué à préparer l'instruction SQL: SQLSTATE[HY000]: General error: 1 près de la "7": erreur de syntaxe.
L'instruction SQL exécutée était:
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;
}
}
?>
Ce type de données est
Ce que l'API appelez-vous cela? Êtes-vous à l'aide d'une requête préparée espace réservé n'importe où?
Si vous exécutez la requête directement comme vous l'avez ci-dessus à un client, il tourne (semble comme il se doit)? Quelle version de MySQL?
La création est un timestamp.
Je me sers de ce à l'intérieur de la Yii framework.
created
dans votre tableau?Ce que l'API appelez-vous cela? Êtes-vous à l'aide d'une requête préparée espace réservé n'importe où?
Si vous exécutez la requête directement comme vous l'avez ci-dessus à un client, il tourne (semble comme il se doit)? Quelle version de MySQL?
La création est un timestamp.
Je me sers de ce à l'intérieur de la Yii framework.
OriginalL'auteur KyleVan | 2013-03-02
Vous devez vous connecter pour publier un commentaire.
Je ne peux pas expliquer le problème, mais vous pouvez éliminer la sous-requête dans l'expression. Peut-être vous aider:
SUM
) à l'intérieur de l'ORDRE de près.Qui est admis, MySQL et dans toute autre base de données que je sais de qui prend en charge SQL.
Ok, je ne savais pas que, heureux d'avoir ouvert ce sujet.
OriginalL'auteur Gordon Linoff