Mysql Query Ausgabe-Datum minus 7 Tage
Diese kommen immer mit einer Fehlermeldung und ich kann nicht herausfinden, warum...
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
Ausnahme 'CDbException' mit Nachricht
CDbCommand Fehler beim ausführen der SQL-Anweisung: CDbCommand konnte nicht bereiten Sie das SQL-statement: SQLSTATE[HY000]: General error: 1 in der Nähe von "7": syntax-Fehler.
Die SQL-Anweisung ausgeführt wurde:
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;
}
}
?>
Welcher Datentyp ist
Was API rufen Sie diese durch? Verwenden Sie eine vorbereitete Anweisung Platzhalter überall?
Wenn Sie die Abfrage ausführen direkt, wie Sie es oben in einem client, läuft es (wie es aussieht sollte)? Welche MySQL-version?
Erstellt einen timestamp.
Ich bin mit diesem innerhalb des Yii-framework.
created
in der Tabelle?Was API rufen Sie diese durch? Verwenden Sie eine vorbereitete Anweisung Platzhalter überall?
Wenn Sie die Abfrage ausführen direkt, wie Sie es oben in einem client, läuft es (wie es aussieht sollte)? Welche MySQL-version?
Erstellt einen timestamp.
Ich bin mit diesem innerhalb des Yii-framework.
InformationsquelleAutor KyleVan | 2013-03-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann ich nicht erklären, das problem, aber Sie können die Beseitigung der Unterabfrage in der expression. Vielleicht helfen wird:
SUM
) in der REIHENFOLGE VON der Nähe.Erlaubt ist, in MySQL und in jeder anderen Datenbank, die ich kenne, die SQL unterstützt.
Ok, ich wusste nicht, dass, freut sich über die Eröffnung dieses Themas.
InformationsquelleAutor Gordon Linoff