社区
基础编程
帖子详情
about select
uGain
2002-11-08 03:16:50
用select distinct filedname from tablename 可以得到fieldname的不重复的所有记录。
我想问的是如何得到filedname的值有重复的那些记录?最简单的方法。
...全文
74
21
打赏
收藏
about select
用select distinct filedname from tablename 可以得到fieldname的不重复的所有记录。 我想问的是如何得到filedname的值有重复的那些记录?最简单的方法。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vivanboy
2002-11-09
打赏
举报
回复
但这并不是你的帖子的意思
i 服了 you
uGain
2002-11-09
打赏
举报
回复
select filedname from tablename group by filedname having count(filedname)>1
这个就是我想要的答案。
多谢
结贴
uGain
2002-11-09
打赏
举报
回复
其实我指的就是mssql,目的是想在查询分析器里找出fieldname有重复的记录。
vivanboy
2002-11-09
打赏
举报
回复
用两条语句吧。
select filedname from tablename group by filedname having count(filedname)>1
取出所有的$filedname以后再组合成('var1','var2','var3')的形式,然后用语句:
select * from tablename where filedname in ('var1','var2','var3')
vivanboy
2002-11-09
打赏
举报
回复
你的那种方法当然不行,mysql还不支持子查询
就是支持,你的方法也是错的
uGain
2002-11-09
打赏
举报
回复
这样的话就只有用循环的方式得到结果了。
uGain
2002-11-09
打赏
举报
回复
哦,错了,好象不行
uGain
2002-11-09
打赏
举报
回复
如果有id的话,用
select * from tablename where id not in (select distinct fieldname,id from tablename)
就可以了吧?
vivanboy
2002-11-09
打赏
举报
回复
没有PK或者UK就不能用我的方法了。你加上一个自动增长的id吧,这个很重要
uGain
2002-11-09
打赏
举报
回复
明白了,不过现在的问题是我不知道两条记录中哪个字段的值不一样。没有id字段。:(
vivanboy
2002-11-09
打赏
举报
回复
如果mysql下一个版本支持子查询,则会有更明了的方法:
SELECT * FROM tablename A
WHERE EXISTS (
SELECT * FROM tablename
WHERE filedname=A.filedname
AND ID<>A.ID
)
vivanboy
2002-11-09
打赏
举报
回复
这叫做表的自联接。a,b都是tablename这个表的别名,为了简化语句取的。
id是表的主键或者唯一键,必须有主键或者唯一键才能采用我上面的方法。不过我想大多数表都应该有主键或者唯一键的
uGain
2002-11-09
打赏
举报
回复
有点不太明白,b是那里来的?里面的id怎么得到的?
vivanboy
2002-11-09
打赏
举报
回复
你的帖子的意思是要得到filedname的值有重复的那些记录
select filedname from tablename group by filedname having count(filedname)>1
只是将filedname有重复的filedname取出来,这里第一不是纪录,第二取出来的filedname都是唯一值。
不过倒是可以通过这个语句达到你帖子的意思,就是我上面说的用两个语句来实现你的目的
不知你懂了没有,hehe
uGain
2002-11-09
打赏
举报
回复
不会吧?我就是这个意思啊!
select * from tablename where fieldname in (select filedname from tablename group by filedname having count(filedname)>1)
vivanboy
2002-11-08
打赏
举报
回复
select a.* from tablename a inner join tablename b
on a.id<>b.id and a.filedname=b.filedname
必须要通过PK或者unique的不等来防止纪录和其自己比较filedname,比如on a.id<>b.id
uGain
2002-11-08
打赏
举报
回复
我也是在考虑有没有什么简单的方法。
xizi2002
2002-11-08
打赏
举报
回复
用笨办法全搜索出来挨个分析,
xizi2002
2002-11-08
打赏
举报
回复
不会,用group by可以找出所有的不相同的
uGain
2002-11-08
打赏
举报
回复
就是只得到那些fieldname的值出现次数>1的所有记录。
加载更多回复(1)
在mysql中
select
,在
SELECT
中使用
SELECT
在mysql查询中
It is common to use
SELECT
within
SELECT
to reduce the number of queries; but as I examined this leads to slow query (which is obviously harmful for mysql performance). I had a simple query as
SELECT
s...
MySQL基本
select
查询及数据类型
基本
select
查询 知识要点 设置系统变量@@sql_mode 基本
SELECT
语句 在
SELECT
语句中的算术表达式和null值 列别名 使用串联操作符和distinct关键字 desc命令 增删改查 对数据库常规的四个操作 插入:insert 删除:...
jquery插件
select
2的所有事件,包括清除,删除,打开等
jquery插件
select
2的所有事件,包括清除,删除,打开等
彻底解释Linux
select
的1024限制(
select
真的受1024限制吗?不!)
很多很多年前,我被面试 为什么
select
调用最多只支持1024个文件描述符? 我没有答出来,我甚至不知道
select
到底是干什么的。 又过了很多年,我用这个问题面试了别人… 在当时,我心里已经有了会令自己满意的预期答案...
慎用create t
ab
le as
select
,一定要注意默认值的问题
慎用create t
ab
le as
select
,一定要注意默认值的问题 博客分类: Oracle oraclecreate talbe as
select
数据库迁移 再做一些数据迁移时候,很多人会使用create t
ab
le as
select
* from t
ab
le where id=-1...
基础编程
21,881
社区成员
140,365
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章