在新版的mysql5.7
的版本中,如果distinct
和order by
一起使用將會報3065錯誤
,sql語句無法執行。最新的mysql5.7版本語法比之前5.6版本語法更加嚴格
導致的。distinct和order by都會對資料進行排序操作
,所以會產生衝突。
select
distinct a.title,a.tax_no
from
order_invoice a
left join order_data b on a.order_id = b.order_id
where
b.user_id = 166 and a.state= 20 and a.head_type=2 order by a.create_date desc limit 0,3
解決方法一:
使用group by 替代 distinct 的去重功能
select c.title as name ,c.taxno as taxno from (
select
a.title as title,a.tax_no as taxno,max(a.id) as id
from
order_invoice a
left join order_data b on a.order_id = b.order_id
where
b.user_id = 166 and a.state= 20 and a.head_type=2 group by a.title,a.tax_no ) c order by c.id desc limit 0,3
解決方法二 :
編輯mysql5.7的配置檔案
,新增配置sql_mode=no_engine_substitution,strict_trans_tables
,這段**同時也可以解決mysql5.7中的group by導致的1055錯誤
。
python中order函式 order by排序
作者 課程概述 anaconda安裝python程式設計環境,整合500多資料科學包 pandas可實現自動化處理excel資料,是乙個非常強大的包,此課程詳細講述pandas應用 sqlite3是python的乙個包,用於python執行sql語句,完成取數,加工資料,更新,刪除資料,繪製圖等等。...
rownum 和 distinct 的含義
rownum是oracle系統順序分配為從查詢返回的行的編號,返回的第一行分配的是1,第二行是2,依此類推,這個偽欄位可以用於限制查詢返回的總行數.oracle在select出一條記錄後便加上乙個rownum,而不等所有的結果都select出來後再加上rownum。然後是distinct的工作原理。...
Linq實現In條件和Distinct效果
in寫法 arraydictype int陣列 db.getquery where a arraydictype.contains a.dictype tolist person1 id 1,name test1 person2 id 1,name test1 person3 id 2,name t...