You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL 8.4中SQL_CALC_FOUND_ROWS语法报错原因咨询

报错原因分析:MySQL 8.4中SQL语句语法错误

核心原因是MySQL版本对SQL_CACHE语法的兼容性变化:

  • MySQL 8.0版本开始弃用SQL_CACHE和SQL_NO_CACHE这两个查询缓存相关关键字,从8.0.23版本起完全移除了对它们的支持,MySQL 8.4作为高版本已彻底不识别SQL_CACHE。
  • 你的语句在SELECT后先写了SQL_CACHE,紧接着又写SQL_CALC_FOUND_ROWS,在MySQL 8.4中,无效的SQL_CACHE会被判定为语法错误,进而报错指向后续的SQL_CALC_FOUND_ROWS部分。

修正方案

直接删除语句中的SQL_CACHE关键字即可,同时建议为日期条件加上单引号(避免潜在类型转换问题),修正后的SQL如下:

SELECT SQL_CALC_FOUND_ROWS
stat_users_events_daily.user_id,
stat_users_events_daily.tracking_category_id as tracking_category_id,
IF(ISNULL(tracking_categories.name),"Category not found",tracking_categories.name) as tracking_category_name,
SUM(stat_users_events_daily.sent) AS total_sent,
SUM(stat_users_events_daily.opened) AS total_opened 
FROM `stat_users_events_daily` 
LEFT JOIN `tracking_categories` ON `stat_users_events_daily`.`tracking_category_id` = `tracking_categories`.`id` 
WHERE `stat_date` between '2024-08-25' and '2024-08-25' 
GROUP BY `user_id`, `tracking_category_id` 
ORDER BY `total_opened` desc, `user_id` asc, `tracking_category_id` asc 
LIMIT 2 OFFSET 0;

内容的提问来源于stack exchange,提问作者Dev Dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 09:21:08