SQL语句只查询出特定类型记录的原因及优化方法
SELECT 'floor', 'sort', 'floor_name' FROM 'floor' WHERE 'type' = '5' ORDER BY CASE WHEN 'type' = '5' THEN 0 ELSE 1 END 这条语句只查出了 type为5的 其他的都没有查询出来内容:这是因为你在WHERE子句中设置了'type' = '5'的条件,导致只会返回'type'为5的记录。如果你想获取所有记录,并按照'type'为5的记录排在前面的顺序进行排序,可以修改查询语句如下:
SELECT 'floor', 'sort', 'floor_name'
FROM 'floor'
ORDER BY CASE WHEN 'type' = '5' THEN 0 ELSE 1 END, 'type'
这样修改后,查询结果会先按照'type'为5的记录进行排序,然后再按照'type'的值进行排序。
原文地址: https://www.cveoy.top/t/topic/pfYO 著作权归作者所有。请勿转载和采集!