暂无图片
比较长的sql,格式如: select distinct * from (select 1000+个字段的子查询),该sql在一个服务器上运行正常,在另外一个服务器运行时报:too many columns,如果去掉distinct又可以正常运行。
我来答
分享
暂无图片 匿名用户
比较长的sql,格式如: select distinct * from (select 1000+个字段的子查询),该sql在一个服务器上运行正常,在另外一个服务器运行时报:too many columns,如果去掉distinct又可以正常运行。

但是因为业务需要,必须使用distinct。这个怎么解决?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
DarkAthena

这种问题很奇怪,我猜测是驱动版本不一致。

  1. 可以在整个sql外再包一层select * from 试试。
  2. 另外一种方案,不使用distinct 也可以达到去重效果,就是使用union,至于下面这段sql写什么,匹配好字段个数和类型,加个where 1=2避免输出额外的数据就行了
暂无图片 评论
暂无图片 有用 0
打赏 0
刘晓华

很大可能性是你oracle数据库的版本不同

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
为什么Navicat工具这么贵,还有人用?
回答 8
mark
SQL的聚集函数COUNT、SUM、AVG、MAX、MIN不允许出现在查询语句的什么子句之中
回答 2
已采纳
D.WHERE
集群中有一台服务器损坏卸载失败
回答 1
(1)修改/var/lib/gcware/DATASERVER文件,去掉损坏节点IP信息;(2)修改/etc/corosync/corosync.conf文件,去掉损坏节点IP信息。
sql链接服务器查询oracle数据结果和在oracle库中查询结果条目数不一致,可能是什么原因?
回答 2
已采纳
首先先要确定是不是连接的同一个"数据库",其次要确定是不是同一个用户名。之前有遇到过此类问题的,在数据静态的情况下,往往都是分了读库和写库,或者是rac多实例出现了不同步的情况
sql语句中存在“&”符号时,&符号后被变成变量了,知道怎么转义这个特殊符号吗?
回答 2
双引号“”和反斜杠\都可以,如果是在SQLPLUS中,注意是命令行的那种:还可以setdefineoff来关闭特殊字符,还可以用showdefine来查看有些特殊定义的字符。
请大家帮我看看这个sql语句慢在哪了?
回答 1
可以用mergeinto
sql windows 窗口,点了execute 按钮,会提交update 吗?
回答 2
已采纳
与数据库类型及客户端工具的设置有关。比如oracle数据库默认不自动commit,但你也可以在客户端工具比如plsqldeveloper里面设置自动commit,而且sqlplus里也能设置。像mys
求一个能判断YYYY-MM-DD HH24:MI:SS正则表达式
回答 6
已采纳
date类型都是统一根据nls变量或者工具设置的格式来显示的,如果显示成YYYYMMDD,则表示时分秒部分为00:00:00,工具自动省略了显示,并不是说这个值里就没有时分秒。如果想要过滤掉不含时分秒
多表关联查询分页优化问
回答 3
首先,那2,3点你可以做改善。其次。我还是不认可这个分页框架。在小的分页数下可能没有问题。在数据量大的情况下,很明显那个rn>xx 应该带入到里面去。我没有明白,这里多嵌套一层的意义。
怎么获取SQL数据库的插入数据的自增ID?
回答 2
已采纳
没理解你的意思。没说数据库l类型。是要获得最大的id吗? 可以selectmax(id)fromt