去掉重复项distinct和以指定顺序排序order by 出现错误
SQL语句:
select distinct mc from tkh
order by
(select CASE mc WHEN '董事长' THEN 1 WHEN '副董' THEN 2 WHEN '经理' THEN 3 WHEN '副经理' THEN 4 end)
错误提示:如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中。
说明:我查询出来的有重复项,我想先去掉重复项,然后在按以指定的顺序排列,请问该怎么修改呢???
高手请解答,谢谢。。。
select distinct mc from tkh
order by
(select CASE mc WHEN '董事长' THEN 1 WHEN '副董' THEN 2 WHEN '经理' THEN 3 WHEN '副经理' THEN 4 end)
错误提示:如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中。
说明:我查询出来的有重复项,我想先去掉重复项,然后在按以指定的顺序排列,请问该怎么修改呢???
高手请解答,谢谢。。。
...全文
相关推荐
SQL中distinct 和 row_number() over() 的区别及用法
BY age ORDER BY name) AS row_num FROM table_name; ```综上所述,`DISTINCT`和`ROW_NUMBER() OVER()`在SQL中各有其独特的作用
从零开始学习SQL查询语句执行顺序
**ORDER BY**:ORDER BY子句用于对结果集进行排序,可以是升序(ASC)或降序(DESC)。9.
总结一周内学习的Sql经验(一)
ORDER BY:默认情况下,ORDER BY对结果进行升序排序。可以使用ASC明确指定升序,DESC表示降序。6.
sql warning报错出错信息说明
- **错误 145**:不能指定 SELECT DISTINCT 或 ORDER BY 语句。这表示在某些类型的查询中不能使用 DISTINCT 或 ORDER BY。
MYSQL学习计划,集中CRUD,事务与索引后续学习
SQL执行顺序严格遵循FROM加载数据源、WHERE预筛选原始行、GROUP BY分组聚合、HAVING过滤分组结果、SELECT投影字段、ORDER BY排序、LIMIT截断结果的固定链条,此顺序决定


疑难问题
