急求sql语句(过滤重复数据)

左手冰凉_nj 2013-11-05 02:31:23
字段1 字段2 字段3

现在字段1 和字段2 有重复数据 但是 字段3 缺不全是重复数据
先前我只需要查询字段1和字段2的数据 并且过滤掉重复数据是这样
select distinct 字段1,字段2 from tableName
但是现在需要增加字段3 这样该怎么写
...全文
1918 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
左手冰凉_nj 2013-11-05
  • 打赏
  • 举报
回复
十分感谢各位 问题解决了 谢谢
唐诗三百首 2013-11-05
  • 打赏
  • 举报
回复
引用 5 楼 u012479410 的回复:
取一条字段3最小的

select 字段1,字段2,字段3 from
(select 字段1,字段2,字段3,
        row_number() over(partition by 字段1,字段2 order by 字段3) 'rn'
 from [表名]) t
where t.rn=1
發糞塗牆 2013-11-05
  • 打赏
  • 举报
回复
----------------------------------------------------------------
-- Author  :DBA_Huangzj(發糞塗牆)
-- Date    :2013-11-05 14:43:40
-- Version:
--      Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64) 
--	Dec 28 2012 20:23:12 
--	Copyright (c) Microsoft Corporation
--	Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
--
----------------------------------------------------------------
--> 测试数据:[huang]
if object_id('[huang]') is not null drop table [huang]
go 
create table [huang]([字段1] int,[字段2] int,[字段3] int)
insert [huang]
select 1,1,2 union all
select 1,1,3 union all
select 2,2,3 union ALL
select 2,2,4
--------------开始查询--------------------------

select * 
from [huang] a
WHERE EXISTS (SELECT 1 FROM (SELECT [字段1],[字段2],MIN([字段3])[字段3] FROM huang GROUP BY [字段1],[字段2])b 
WHERE a.[字段1]=b.字段1 AND a.[字段2]=b.字段2 AND a.[字段3]=b.[字段3])
----------------结果----------------------------
/* 
字段1         字段2         字段3
----------- ----------- -----------
1           1           2
2           2           3
*/
--小F-- 2013-11-05
  • 打赏
  • 举报
回复
select 字段1,字段2,min(字段3) as 字段3 from group by 字段1,字段2
發糞塗牆 2013-11-05
  • 打赏
  • 举报
回复

select * 
from [huang] a
WHERE EXISTS (SELECT 1 FROM (SELECT [字段1],[字段2],MAX([字段3])[字段3] FROM huang GROUP BY [字段1],[字段2])b 
WHERE a.[字段1]=b.字段1 AND a.[字段2]=b.字段2 AND a.[字段3]=b.[字段3])
左手冰凉_nj 2013-11-05
  • 打赏
  • 举报
回复
取一条字段3最小的
左手冰凉_nj 2013-11-05
  • 打赏
  • 举报
回复
引用 2 楼 DBA_Huangzj 的回复:
字段1,字段2 ,字段3 1 1 2 1 1 3 这种数据你取哪条?
只需要取一条就可以了
唐诗三百首 2013-11-05
  • 打赏
  • 举报
回复
try this,

select 字段1,字段2,字段3 from
(select 字段1,字段2,字段3,
        row_number() over(partition by 字段1,字段2 order by 字段3) 'rn'
 from [表名]) t
where t.rn=1
發糞塗牆 2013-11-05
  • 打赏
  • 举报
回复
字段1,字段2 ,字段3 1 1 2 1 1 3 这种数据你取哪条?
LongRui888 2013-11-05
  • 打赏
  • 举报
回复
select distinct 字段1,字段2,字段3 from tableName

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧