不要随随便便的distinct和order by】的更多相关文章

相关查询非常慢,通过程序拿到了相关sqlexplainexplain SELECT DISTINCT(o.orders_id), o.oa_order_id, customers_email_address, o.order_type, ot.text AS total_value, o.track_number, o.date_purchased, o.orders_status, o.specialOperate, o.isSpecialParent, o.pay_ip, o.supply_…
sql="select distinct id from test order by otherfield desc" 需要找到不同的id,同时又想让记录按fbsj排序.但是这样一定会出现错误,出现distinct与order by冲突问题.如何来得到完美的解决呢,看下面的方法,依然用一条sql语句 sql="select id from test group by id order by max(<span style="font-family: Arial…
mysql5.7版本中,如果DISTINCT和order by一起使用将会报3065错误,sql语句无法执行.这是由于5.7版本语法比之前版本语法要求更加严格导致的. 解决方案: 1.vim /etc/my.cnf 2.如果没有sql_mode配置,则添加 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 3.如果已有sql_mode配置,务必删除ONLY_FULL_GROUP_BY这一项 4.我的sql_mode设置: sql_mode=S…
比如直接使用: SELECT distinct mobileFROM table_aWHERE code = 123ORDER BY a_ime desc 在本地mysql数据库没有错,在线上的数据库就会报如下错(估计是版本的问题):Expression #1 of ORDER BY clause is not in SELECT list, references column 'table_a.a_time' which is not in SELECT list 大意是:order by 的…
需求:根据PID字段对数据去重,根据Sort字段排序,需要显示这个两个字段. 如图,这是原始数据,先排序: 排序后发现两个项是重复的,需要去除一个, 因为Distinct对检查Select里面的每一列,出现的每一列必须都相同才算重复数据,而排序后的数据里面相同Pid的数据的sort值不同,Distinct此时就失效了. 于是Select里面去掉sort,提示语法错误:如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中.语法问题,但是加上sort之…
不知为啥,当我得查询中出现distinct时,order by 中必须包含要查询的列,否则报错. SELECT DISTINCT a.DetailId, a.OrderId, a.ProductId, pi2.BarCode, pi1.ProductName, pi1.productCode, pi1.spec, a.UnitId, ui.UnitName, SNUM(a.DetailId) as Quantity, a.Discount, a.UnitPrice, a.TaxRate, a.P…
distinct 后面不要直接跟Order by , 如果要用在子查询用用order by .…
1.需求场景: 需要把最新更新文章的前五名作者展示出来. 2.解决问题第一步: select top 5 creator from table order by updateDate desc 结果:显示五条记录,但是名字是重复的. 3.解决问题第二步: 加Distinct select distinct top 5 creator from table order by updateDate desc 结果:报错.如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就…
<MySQL必知必会>检索数据,排序检索数据 1.检索数据 1.1 select 语句 为了使用SELECT检索表数据,必须至少给出两条信息一想选择什 么,以及从什么地方选择. 1.2 检索单个列 select prod_name from products; (此时,检索得到的数据并未进行排序.) MySQL执行多条SQL语句,结束每条SQL语句时,必须加上" ; "分隔,尽管这是单条SQL语句,你加上也可以执行,但其他部分的DBMS却可能需要单条SQL语句也需要加上&q…
在日常作业中,有时候可能是一些活动要抽出得奖人或选出抽查的一些名单, 就常常会使用到 Order BY Newid() 的方式来做随机数选出, 但有可能的状况需是要搭配到 DISTINCT 来选出,这时候如 DISTINCT 与 Order By Newid() 同时使用就会遇到错误讯息 「如果已指定 SELECT DISTINCT,则 ORDER BY 项目必须显示于选取列表中」. 以下这个范例,就分享一个最简单的处理办法. 这边范例的数据库是使用 章立民 老师书中的范例中文北风数据库, 透过…