1樓:匿名使用者
create table #test (
id int,
name varchar(10),
age int
);go
-- 用於測試 樓主的原始資料.
insert into #test
select 1, 'tom', 22 union all
select 2, 'tom', 23 union all
select 3, 'tom', 24 union all
select 4, 'lily', 22 union all
select 5, 'lily', 23;
-- 用於測試 年齡不是按照大小順序
insert into #test
select 101, '張三', 23 union all
select 102, '張三', 22 union all
select 103, '張三', 21;
go-- 樓主的sql
select * from #test where id in(select max(t.id) from #test t group by t.name)
goid name age
----------- ---------- -----------
3 tom 24
5 lily 23
103 張三 21
(3 行受影響)
-- 方法1:
select
*from
#test main
where
not exists( select 1 from #test sub where main.name=sub.name and main.age
2樓:匿名使用者
樓下的回答很幼稚 測試了嗎?
我幫你寫下 把表名換一下就可以了
select max(id) id, name,max(age) age from tbname
group by name
為什麼把問題搞的那麼複雜 就這麼簡單的事情 寫的越多越好嗎?
樓主的那個方法也可以 (應該是巧合 如果你的年齡不是按照大小順序的 你那個結果查詢的就不是你要的)
3樓:滿地圖找牙
select id, name, max(age)from table
group by name
很久不寫sql,語法都忘了。。。
group by 只能取兩個欄位,id應該是主鍵吧?
如果是oracle 可以用row_number試試。
select * from (select id ,name ,age,row_number() over(partition by name order by id,age desc) rn from table ) where rn=1
我這沒環境,要是有什麼幼稚的錯誤自己改改吧,思路應該是這樣。
你的追問是名字分組取出最大的id,因為是唯一主鍵所以寫的沒錯。如果你想把年齡作為條件加進去你的寫法就有問題了。
4樓:暈這都有人起了
select max(a.id),a.name,b.magfrom table a,
(select name,max(age) mag from table group by name) b
where
a.name=b.name
group by a.name,b.mag你試下
5樓:匿名使用者
distinct去重複資料用
select id,distinct(name),age from table
參考
6樓:匿名使用者
select id,name,age from table where age>all
7樓:新光飾品**
select max(id) id, name,max(age) age from emp group by name;
在oracle資料庫中,怎樣查詢出只有一個欄位的表的重複資料?
8樓:匿名使用者
方法一:可以通過group by 進行分組。
sql:select username,count(username) from tablename grop by username;
解釋:以上sql就是通過分組函式讀取出tablename表中username的值和每個不同值的統計個數。
方法二:可以通過distinct函式 進行去重查詢。
sql:select distinct username from tablename
解釋:本sql就是查詢出所有的tablename表中的username值(不重複)。
在oracle資料庫中,怎樣查詢出只有一個欄位的表的重複資料?
9樓:匿名使用者
方法一:可以通過group by 進行分組。
sql:select username,count(username) from tablename grop by username;
解釋:以上sql就是通過分組函式讀版取出tablename表中username的值和每個不
權同值的統計個數。
方法二:可以通過distinct函式 進行去重查詢。
sql:select distinct username from tablename
解釋:本sql就是查詢出所有的tablename表中的username值(不重複)。
在oracle中怎麼查一個表中的的一個欄位的重複資料?
oracle怎樣檢視資料庫中有資料的表
千鋒教育 select from all tables all tables是所有能訪問,包括其它使用者的,如果要檢視當前使用者用user tables 超級喵公主 覺得你應該先弄清楚oracle的常規資料字典的結構,像9i裡的常規資料字典中物件名稱就有以user,all,dba為字首的物件。以us...
sql資料庫和oracle資料庫哪個好
兄弟,聽我的。肯定學習oracle。原因 1 oracle是商用的最廣泛的關係型資料庫管理系統,廣泛應用於銀行 電信 電力 社保等各個領域。特別是對於unix和linux平臺,sqlserver怎麼用啊?我想你學習,肯定為了將來應用,或者工作,你的簡歷裡面寫oracle和sqlserver完全是不一...
關於oracle資料庫使用者和資料庫之間的關係
表空間,其實是 預設表空間。也就是這個使用者 create table 語句,不指定表空間的話。就預設把表,建立在那個 預設表空間 上面。沒有給他指定其它表空間的管理許可權 但使用者a能操作其它表空間,在其它表空間中建立表,是怎麼回事哪。這個要看你到底給了多少許可權給這個使用者a 你要是sql gr...