[英]Mysql query using dates between now and last week
因此,我試圖從今天的日期和7天之前從數據庫中獲取結果,但是由於不斷收到致命錯誤,我正在做的事情似乎是錯誤的
未捕獲的異常“ mysqli_sql_exception”,消息為“您的SQL語法有錯誤; 檢查與您的MariaDB服務器版本相對應的手冊,以在'DAYS GROUP BY logins.unique_id ORDER BY'附近使用正確的語法堆棧跟蹤:#0 mysqli-> query('SELECT SUM(DIST ...',1)#拋出1個{main}
<?php //get info for scores in the league
if ($result = $link->query("SELECT SUM(DISTINCT step_count.steps) as total, logins.nickname, MAX(step_count.steps) as maxsteps, ROUND(AVG (DISTINCT step_count.steps)) as average, logins.Email as email
FROM step_count
INNER JOIN logins on
step_count.unique_id=logins.unique_id
WHERE logins.unique_id='$unique_id' AND step_count.date BETWEEN CURDATE() AND CURDATE() + INTERVAL 7 DAYS
GROUP BY logins.unique_id
ORDER BY `total` DESC
", MYSQLI_USE_RESULT))
while($row = $result->fetch_assoc()){ ?>
更新列后,我仍然收到相同的致命錯誤
您這里有語法問題,在BETWEEN
之前缺少一列
logins.unique_id='$unique_id' BETWEEN CURDATE() AND CURDATE() + INTERVAL 7 DAYS
BETWEEN
的正確語法是
<column_name> BETWEEN <value1> AND <value2>
所以應該
logins.unique_id='$unique_id' AND <date_column> BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 7 DAY)
並且,請改用DATE_ADD
添加特定的天數。
另外,要接收今天和7天之前的數據,您需要使用DATE_SUB
因此查詢的最后一部分將是:
step_count.date BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE()
您的GROUP BY
應該是:
GROUP BY logins.nickname, email
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.