sql - 显示无效语法
问题描述
SELECT a.company_name FROM
(SELECT companies.company_name
FROM companies WHERE companies.profile_progress
BETWEEN 80 AND 100) a ORDER BY RAND() DESC LIMIT 9 u ORDER BY profile_progress
面临此错误的问题 致命错误:未捕获的 PDOException:SQLSTATE [42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在 C:\xampp\htdocs\company-directory\home.php:20 中的第 4 行的“u ORDER BY profile_progress”附近使用正确的语法:堆栈跟踪:#0 C: \xampp\htdocs\company-directory\home.php(20): PDOStatement->execute() #1 {main} 在第 20 行的 C:\xampp\htdocs\company-directory\home.php 中抛出
解决方案
不用子查询,可以直接使用ORDER BY
子句,也不知道RAND()
在子句中使用函数的目的是什么ORDER BY
,它是一个生成随机数的函数,用函数排序没有意义。您可以使用相应的列进行排序并获取结果。
SELECT companies.company_name
FROM companies WHERE companies.profile_progress
BETWEEN 80 AND 100 ORDER BY profile_progress LIMIT 9;
推荐阅读
- websocket - Adonis WebSockets 客户端 - 如何在 Nuxt.js 中删除日志语句
- python - Python键盘记录器不记录UA提示击键
- java - 无法在 java 动态项目中使用上下文根加载图像
- python - 如何在python中围绕一个圆圈绘制圆形统计的概率密度函数?
- process - 是否可以在银行家算法运行时添加具有非零资源需求的新进程而不会引入死锁?
- django - Git db.sqlite 和 wsgi.py 文件在拉取时不断恢复
- c# - 基于环境的 Appsettings.json 不加载
- python - python QMediaPlayer 发布资源
- python-3.x - Pygame - 不存在“设置”文件,正在运行“buildconfig/config.py”
- python - 为什么我不能安装 pyler 模块?