如何用distinct消除重複記錄的同時又能選取多個欄位值?
需求是:我要消除name欄位值重複的記錄,同時又要得到id欄位的值,其中id是自增欄位。
select distinct name from t1 能消除重複記錄,但只能取一個欄位,現在要同時取id,name這2個欄位的值。
select distinct id,name from t1 可以取多個欄位,但只能消除這2個欄位值全部相同的記錄
最後解決方法:
SELECT id,name FROM t1 WHERE id IN(SELECT MAX(id) FROM t1 GROUP BY name) order by id desc
注意開頭的 id 的 一定要,後面的order by 裡有的欄位一定要加進select 結果,要不然排序無效
相關推薦
如何用distinct消除重複記錄的同時又能選取多個欄位值?
需求是:我要消除name欄位值重複的記錄,同時又要得到id欄位的值,其中id是自增欄位。 select distinct name from t1 能消除重複記錄,但只能取一個欄位,現在要同時取id,name這2個欄位的值。 select distinct id,name from t1 可以取多個欄位
MySQL資料庫查詢多個欄位值全部相同的記錄
資料庫中使用者表,資料從第三方系統匯入,由於一些垃圾資料,存在使用者名稱和密碼都相同的賬戶,造成介面上一些問題,SQL語句如下: select User_Account,User_Pwd,COUNT(
mysql DISTINCT選取多個欄位,獲取distinct後的行資訊
背景 : a表儲存關聯關係,通過ACode 獲取該關係中的所有 BCode, 並獲取所有Bcode-max(Bvrsn)的資訊 Bnm 表a 表b
DISTINCT選取多個欄位,只DISTINCT一個欄位的解決辦法
此文是根據原作者所著加上自己的理解總結出來的,如果有什麼問題歡迎各位提出一起交流探討。先貼出原文如下: 某前臺sql語句,簡化後如下 SELECT products_name,products_viewed FROM `products_description` O
在資料庫中查詢多個欄位的時候,不能用物件接受
今天在做查詢從資料庫中查詢兩個欄位的問題的時候不知道是應該用物件接受,還是集合接受,開始的時候用物件接受 service層介面: User userUpdateByAccount(@Param("account") String account, @Param("phone") String phone)
sql 刪除表中多餘的重複記錄(多個欄位),只保留一條記錄
在網上呢~自己收集了一些關於這方面的知識~ 自己整理一下 1.查詢重複記錄 select * from 表名 where 重複欄位 in (select 重複欄位 from 表名 group
查詢表中多餘的重複記錄(多個欄位)
select a.* from entest a,(select article_id,users_id from entest group by article_id,users_id having
parttion by ~~~針對某個欄位或多個欄位重複,資料只取前n條。問題例子:1.主評論下的評論按著 時間正序最多隻取前5條 2.獲取最新登入記錄......
分組目前已知partition by、group by partition by用於給結果集分組分割槽,如果沒有指定那麼它把整個結果集作為一個分組,最後顯示具體資料 group by:通過所查詢的資料的某一欄位或屬性進行分組,最後顯示組資料,而不是具體資料,因為select 後面的所有列中,沒有使用聚合函
sql---distinct顯示多個欄位,去重複
眾所周知,distinct可以列出不重複的記錄,對於單個欄位來說distinct使用比較簡單,但是對於多個欄位來說,distinct使用起來會使人發狂。而且貌似也沒有見到微軟對distinct使用多欄位的任何說明。下面就提供了一種方法可以在使用distinct的時候同時使
MySQL根據某一個或者多個欄位查詢重複資料,並且保留某欄位值最大的記錄
問題場景 當系統沒有處理好併發操作的情況下,操作人員同時操作一張表的情況下,資料庫有可能被插入相同記錄,這些會帶來隱藏的bug。 解決思路一 解決併發操作的衝突。 解決思路二 對資料庫(MySQL)某張表去重,首先確定你的業務是否允許重複,不允許你
查詢oracle資料庫是否有重複資料(根據多個欄位判斷)
根據多個欄位查詢重複資料的總條數: sql = "select count(*) from tablea a where (a.askname, a.atime) in (select askname,atime from tablea group by askname,atime having count
mybatis 實現批量更新 更新多條記錄為多個欄位為不同的值
更新多條記錄為多個欄位為不同的值 比較普通的寫法,是通過迴圈,依次執行update語句。 Mybatis寫法如下: <update id="updateBatch" parameterType="java.util.List"> <foreach coll
儲存型XSS攻擊的簡單處理以及資料庫查詢過濾多個欄位重複資料
問題:儲存型Xss是由於form表單提交的資料,前端和後臺未進行過濾,將一些javascript的腳步語言存入資料庫中。導致再次查詢資料的時候瀏覽器會執行該腳步語言。如:<script>alert("XSS")</script>。 解決方案:主要是後臺的過
SQL中刪除單欄位重複和多個欄位重複的方法
--刪除OrderDetails表中materialscode欄位重複的行,只保留ID最小的一行資料 delete from OrderDetails where materialscode in (select materialscode from OrderDetails group by
【mysql】sql刪除多個欄位重複資料有主鍵和沒主鍵解決方法
table user name age nub 張三 12 23 張三 12 23 張三 12 23 李四 13 21 李四 13 21 王五 11 25
SQL用子查詢結果更新多個欄位
作者:iamlasong 要求:表格的內容需要變更,變更的內容放在一個臨時表中,用SQL語句更新正式表中多個欄位。 如果更新一個欄位,直接用欄位名=子查詢就可以了,多個欄位更新,將欄位在括號中並列寫出
mysql 刪除單表內多個欄位重複的資料
遇到個問題,一個表內兩個欄位應該加上unique約束,但沒加導致出現重複資料,網上找到一條sql可以刪掉重複資料,原sql是這樣的: DELETE from test WHERE (mid,uid) in (SELECT mid,uid FROM test GROUP
oracle 用一個表的多個欄位更新另一個表對應的多個欄位
update wx_weather a set (a.high_l,a.low_l)= (select high_l, low_l from wx_original_weather b where a
SqlServer查詢同一張表中多個欄位相同的記錄
SELECT * FROM TABLEName SA INNER JOIN ( C1 , C2 FROM TABL
Hql語句中使用distinct關鍵字查詢多個欄位後以物件形式返回的方法
HQL1 :select distinct rs.country,rs.language from ResourceBundle rs; 我們這樣寫的話返回的是Object[]陣列,而且有可能在強轉為 ResourceBundle型別是報錯, 現在想讓它返回Resour