oracle中 能不能将 order by 后面的字段和 排序顺序 作为参数,

就是由用户选择查询的字段 和排序要求 就是 order by 后面的字段 和排序要求 是 动态的

第1个回答  2015-10-19
order by 1,2
可以根据第几个字段排序,不需要用字段名字追问

排序的 字段 是 之前不确定 的,要等用户选择以后传进来 。 还有就是 排序顺序 呢? 升序或者 降序 怎么处理?

追答

oracle本身就是支持用动态SQL拼接你要的
方法是很常见的,就是你还不熟悉而已。。

本回答被提问者和网友采纳

Oracle Day02 Order by_group by_字段_函数_sql语句顺序
Order by 关键字用于对查询结果进行排序。在决定升序还是降序时,可以在Order by后跟列名,并在列名后加上ASC或DESC关键字。如果列值相同,可以使用Order by子句中的其他列进行排序。创建字段时,计算字段是通过+,-,*,\/操作和列进行计算得到的列。获取员工的年薪可以通过查询员工的年薪字段来实现。集合...

【Oracle】使用ORDER BY
在 ORDER BY 中,可以指定多个排序字段,排序顺序按照字段出现的顺序。在进行升序排序时,如果某行数据在某个排序字段上为 NULL,那么这行数据将被排在最后;而使用 NULLS FIRST 参数可使 NULL 排在最前面。相反,在降序排序时,NULL 值将排在最前面,使用 NULLS LAST 可使 NULL 排在最后。在使用 ...

oracle中group by 和order by 同时用
1、首先在oracle子查询中,会经常使用到order by子句。2、看到如下图默认情况下order by,使用的排序是升序,也就是使用的是order by 字段名asc。3、如果要使用降序排序要使用order by 字段名 desc;方法。4、在查询语句中order by 子句必须放在条件语句的最后,不然会报如下错误。5、最后在对空...

oracle中group by 和order b
在Oracle查询中,order by子句在子查询中扮演着重要角色。默认情况下,它执行升序排序,类似于使用"order by 字段名 asc"。然而,若需要降序排列,只需在字段名后添加"desc",如"order by 字段名 desc"。一个重要的注意点是,order by语句必须放置在查询条件的最后,否则可能会引发错误。这是因为order...

oracle中ORDER BY
1.先创建一个索引,例如:create index 索引名 on 表名(字段名)2.然后再按这个字段用order by排序,例如:select * from 表名 order by (创建索引的那个字段名)ASC(正序排序)\/DESC(反序排序)

oracle怎么用order by按自己规定的字符串排序?
按照自定义的顺序排序: select * from table_name order by decode(col_name,'value1',1,'value2',2,'value3',3,'value4',4,...'valueN',N);select * from table_name order by decode(col_name,'深证',1,'上海',2,'北京',3,'南京',4,...'valueN',N);...

oracle中groupby和orderby同时用
在Oracle的SQL查询中,可以同时使用GROUP BY和ORDER BY。通常,你会先使用GROUP BY对数据进行分组,然后使用ORDER BY对分组后的结果进行排序。这样,你可以先按照某个或多个列的值将数据分组,然后按照你想要的顺序对分组结果进行排序。这在处理复杂的数据分析和报表生成时非常有用。例如,你可以先按部门...

oracle 的分组加排序的问题
那么不能使用order by子句,这时候order by子句会出错。而看此代码, 取出的b.zl的值是出现词素最多的记录,故排序又是必须的。所以,应该考虑使用函数来实现:创建一个函数,输入参数值为a.hm的值,输出参数为set子查询所获得的结果,比如函数名为fn_getZl,那么更新SQL就变为:update table1 aset ...

oracle中使用order by时如果列名已经有了别名还可以用原列名进行排序吗...
可以的,而且可以混用。比如:Select posno aa,flowno bb From buy1s Order By posno,flowno;Select posno aa,flowno bb From buy1s Order By aa,flowno;Select posno aa,flowno bb From buy1s Order By posno,bb;上面几种都可以。

oracle中,还是不甚明白order by和group by的用法
order by ID,NUM 表示优先按照ID排序 ID相同的再按NUM排序 这个意思 group by 是分组 首先用group by 的前提是你的select里边用了聚合函数如sum(),avg(),min(),max()没有聚合函数用不了group by会报错 其次 出现在select里边的除聚合函数以外的所有字段 都必须作为group by的条件 出现在group by...

相似回答