sql语句语法错误,关于order by的排序问题

 我来答
hr_s_pre
2013-08-08 · 超过31用户采纳过TA的回答
知道答主
回答量:87
采纳率:100%
帮助的人:75.1万
展开全部

你这个错误是因为你加入的排序ORDER BY ,你把排序改成如下SQL语句:

SELECT report_id,build_date_s,[file_name],title
FROM  (
 SELECT TOP 100 percent report_id,build_date_s,[filename],title,type
 FROM app_report
 WHERE type='0' AND user_id = '606'
  ORDER BY report_id,type,user_id DESC)

这个错误是因为,你内部的查询语句中有WHERE 筛选条件,而ORDER BY 的排序条件要有你WHERE 后的列。

szm341
推荐于2018-04-11 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5151万
展开全部
首先,在子查询中的排序是无效的也是没有意义的
其次,派生表的使用from () 集合需要加表别名 from () as a
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
badkano
2013-08-08 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885365
团长

向TA提问 私信TA
展开全部

这种引入子查询时,要把子查询的结果集as一下

select report_id,build_date_s,[file_name],title from
(select top 100 percent report_id,build_date_s,[file_name],title,type from app_report where type='0' and user_id='606' order by report_id desc) as a
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
旭日东升_ydx
2013-08-08 · 超过11用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:31.4万
展开全部
如果你用的是oracle的话top n的用法是不能使用的,其他没什么错误
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式