MySQL多表关联查询结果未按ORDER BY排序问题求助
MySQL多表关联查询ORDER BY不生效的解决方法
你的SQL语句里ORDER BY子句的写法有误,导致排序不生效:
ORDER BY 'Company_name'
这里的单引号会让MySQL把'Company_name'当成一个固定字符串常量,所有查询结果都会按这个相同的常量排序,自然不会出现你想要的按字段值排序的效果。
修正后的SQL
把单引号去掉即可(如果字段名有特殊字符或和关键字冲突,也可以用反引号`包裹):
SELECT Company_name FROM companyAboutData INNER JOIN NIFTY_50 ON companyAboutData.ISIN = NIFTY_50.ISIN INNER JOIN compAnalysisData ON compAnalysisData.ISIN = NIFTY_50.ISIN ORDER BY Company_name;
同时调整了JOIN的写法,把嵌套结构改成连续的INNER JOIN,可读性更强,逻辑和原语句一致。
这样执行后,查询结果就会按照Company_name字段的内容正常排序了。
内容的提问来源于stack exchange,提问作者Sandeep Raghuvanshi
相关产品推荐
相关产品推荐

