如果查询几个字段之中指定某一个字段有重复内容只显示一条,怎么写

hoonsun 2010-10-07 03:12:32
如题,比如 字段名 id name title
select id,distinct name,title from tablename
但是查询后,因为title 和 id没有重复的,所以后面把name重复的又显示出来了。怎么搞。谢谢,新手,不懂。用的
Oracle数据库。
...全文
253 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
火星大能猫 2010-10-07
  • 打赏
  • 举报
回复
同意ls的
叶子 2010-10-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hoonsun 的回复:]
哦,对了。name字段可能为空,但是空的重复的不能算重复啊。
[/Quote]

那就分两种情况处理,然后再union all 一下。


select * from tablename where name is null union all

select max(id),max(title),name from
(
select * from tablename where time between @a and @b and name is not null--根据你的条件自己改就行
)aa
group by name;





叶子 2010-10-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 hoonsun 的回复:]
SQL code
select max(id),max(title),name from tablename group by name;

这句管用了。但是后面的WHERE条件确不起作用了。汗,还是没达到最终目标啊。后面有查询两个时间段之间,关键字查询不起作用了。
[/Quote]



select max(id),max(title),name from
(
select * from tablename where time between @a and @b --根据你的条件自己改就行
)aa
group by name;
hoonsun 2010-10-07
  • 打赏
  • 举报
回复
哦,对了。name字段可能为空,但是空的重复的不能算重复啊。
hoonsun 2010-10-07
  • 打赏
  • 举报
回复
select max(id),max(title),name from tablename group by name;

这句管用了。但是后面的WHERE条件确不起作用了。汗,还是没达到最终目标啊。后面有查询两个时间段之间,关键字查询不起作用了。
thegodofwar 2010-10-07
  • 打赏
  • 举报
回复

select max(id),max(title),name from tablename group by name;
hoonsun 2010-10-07
  • 打赏
  • 举报
回复
在Oracle数据库里 那些方法总是出错啊。。郁闷。
叶子 2010-10-07
  • 打赏
  • 举报
回复
declare @table table (id int,name varchar(1),title varchar(3))
insert into @table
select 1,'a','hhh' union all
select 2,'a','nnn' union all
select 3,'b','mmm' union all
select 4,'b','kkk'

select max(id) as id,[name],max(title) as title
from @table group by [name]

/*
id name title
----------- ---- -----
2 a nnn
4 b mmm
*/

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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