sql 去重复问题?

lian_lin 2010-12-22 12:41:44
请教一下各位:
表如下:
id userid funtionName
1 1 药物专论
2 2 配伍挤
4 3 时讯
5 1 时讯
6 2 药物的相互作用
7 2 药物专论
8 3 配伍挤
问:
要显示这三列 但是funtionName不能有重复
sql语句怎么写
????

...全文
478 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
donglin0316 2010-12-22
  • 打赏
  • 举报
回复
distinct
zengpei99 2010-12-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wybxs2006 的回复:]
引用 2 楼 q107770540 的回复:
SELECT DISTINCT funtionName FROM tb

+1
[/Quote]
+1
fflcat 2010-12-22
  • 打赏
  • 举报
回复
对id userid 这两列有要求吗?没有的话可以这样:
slect max(id),max(userid),funtionName
from table
group by funtionName
阿彪兄 2010-12-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 q107770540 的回复:]
SELECT DISTINCT funtionName FROM tb
[/Quote]
+1
卡索瓦 2010-12-22
  • 打赏
  • 举报
回复
SELECT DISTINCT id, userid, funtionName, FROM TABLE
zhaowanru19 2010-12-22
  • 打赏
  • 举报
回复
SELECT DISTINCT id, userid, funtionName, FROM TABLE
没花鹿 2010-12-22
  • 打赏
  • 举报
回复
sql:
... order by functionName
q107770540 2010-12-22
  • 打赏
  • 举报
回复
SELECT DISTINCT funtionName FROM tb
没花鹿 2010-12-22
  • 打赏
  • 举报
回复
按说除了id(自增)无重复外,其余都允许有重复的,包括functionName也不应除外
hxbdzwy 2010-12-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zh275589797 的回复:]
SQL code
SELECT DISTINCT id, userid, funtionName, FROM TABLE
[/Quote]+1 接分
和永恒有關 2010-12-22
  • 打赏
  • 举报
回复
在C#板块发SQL问题,LZ大才
juzi138916007 2010-12-22
  • 打赏
  • 举报
回复
直接对funtionName group by就行了


select id,userid,funtionName from 表 group by funtionName

沛哥儿 2010-12-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zh275589797 的回复:]
SQL code
SELECT DISTINCT id, userid, funtionName, FROM TABLE
[/Quote]

楼上正解
龍过鸡年 2010-12-22
  • 打赏
  • 举报
回复
[Quote=引用 30 楼 ranen2010 的回复:]

select id,userid,funtionname from tablename --where
group by id,userid,funtionname
having count(funtionname)=1
[/Quote]

count(funtionname)=2 的显示否?
小童 2010-12-22
  • 打赏
  • 举报
回复
select id,userid,funtionname from tablename --where
group by id,userid,funtionname
having count(funtionname)=1
  • 打赏
  • 举报
回复
DISTINCT的使用有局限,不能完全解决楼主的问题
参见一篇MySql的贴子应该有借鉴作用:
查询不重复记录
IT0329 2010-12-22
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 wxf163 的回复:]
刚好上午写了一个


SQL code

--> 数据库版本:
--> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
--> 测试数据:[TB]
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[TB]')
AND type in (N'U')……
[/Quote]

学学
龍过鸡年 2010-12-22
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 linux7985 的回复:]

SQL code
SELECT MAX(id) AS id, MAX(userid) AS userid, funtionName FROM t GROUP BY funtionName
[/Quote]

要显示3列,用 group / distinct 都没用,因为 id 是不会重复的

所以只能先对 funtionName group
其他2个字段只能用表达式了
wackyboy 2010-12-22
  • 打赏
  • 举报
回复

select * from table
where id in (select min(id) from table group by funtionName)

加载更多回复(15)

110,525

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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