查询一个表中的两个字段值相同的数据 5
查询一个表中的两个字段值相同的数据比如数据库LinkUser表里面的Lname字段和UserName字段有相同数据,SQL语句该怎么写呢????数据库的字段,比如字段Ln...
查询一个表中的两个字段值相同的数据 比如数据库LinkUser表里面的Lname字段和UserName字段有相同数据,SQL语句该怎么写呢????
数据库的字段,比如字段Lname的数据有重复的,并且UerName字段里面的数据也重复,那么就显示出来:自己写出来的,前面问题说的不详细,-_-。sorry!
select p1.Lname,p1.UserName from LinkUser p1,LinkUser p2 where p1.Lname=p2.Lname and p1.UserName=p2.UserName and p1.id!=p2.id 展开
数据库的字段,比如字段Lname的数据有重复的,并且UerName字段里面的数据也重复,那么就显示出来:自己写出来的,前面问题说的不详细,-_-。sorry!
select p1.Lname,p1.UserName from LinkUser p1,LinkUser p2 where p1.Lname=p2.Lname and p1.UserName=p2.UserName and p1.id!=p2.id 展开
5个回答
展开全部
select LinkUser.* from LinkUser INNER JOIN (SELECT Lname,UserName from LinkUser group by Lname,UserName having count (*)>1) AS B ON LinkUser.Lname =B.Lname AND LinkUser.UserName=B.UserName ORDER BY LinkUser.UserName
SELECT Lname,UserName from LinkUser group by Lname,UserName having count (*)>1 --先找到表中两个字段(Lname,UserName)都一样的值,虚拟成B表,
通过内链接(INNER JOIN)把LinkUser表中两个字段(LinkUser.Lname)都一样的值的数据都查询出来,并按UserName的顺序排列(ORDER BY LinkUser.UserName)。
注意:Lname,UserName两个字段中有NULL时,内链接(INNER JOIN)中inkUser.Lname =B.Lname AND LinkUser.UserName=B.UserName 不成立,因为两空值是不等的。但在SELECT Lname,UserName from LinkUser group by Lname,UserName having count (*)>1的语句中的结果NULL值认定为重复。
SELECT Lname,UserName from LinkUser group by Lname,UserName having count (*)>1 --先找到表中两个字段(Lname,UserName)都一样的值,虚拟成B表,
通过内链接(INNER JOIN)把LinkUser表中两个字段(LinkUser.Lname)都一样的值的数据都查询出来,并按UserName的顺序排列(ORDER BY LinkUser.UserName)。
注意:Lname,UserName两个字段中有NULL时,内链接(INNER JOIN)中inkUser.Lname =B.Lname AND LinkUser.UserName=B.UserName 不成立,因为两空值是不等的。但在SELECT Lname,UserName from LinkUser group by Lname,UserName having count (*)>1的语句中的结果NULL值认定为重复。
展开全部
--你分组一下就可以得到重复的数据了
SELECT Lname,UserName,count(id) as '在表中重复出现的次数'
where LinkUser
GROUP BY Lname,UserName
HAVING count(id)>1
/*
SELECT *
FROM LinkUser
WHERE ISNULL(Lname,'')=ISNULL(UserName,'') */
SELECT Lname,UserName,count(id) as '在表中重复出现的次数'
where LinkUser
GROUP BY Lname,UserName
HAVING count(id)>1
/*
SELECT *
FROM LinkUser
WHERE ISNULL(Lname,'')=ISNULL(UserName,'') */
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按照
Lname
UerName
这2个字段分组,查出来组内条数count(*) 大于1的就是了
Lname
UerName
这2个字段分组,查出来组内条数count(*) 大于1的就是了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/*难道是下面的这种?
select *
from LinkUser
where Lname=UserName; */
意思是去除重复的?
select * from LinkUser a
where exists (select 1 from (select min(id),Lname from LinkUser group by Lname) b
where a.id=b.id)
select *
from LinkUser
where Lname=UserName; */
意思是去除重复的?
select * from LinkUser a
where exists (select 1 from (select min(id),Lname from LinkUser group by Lname) b
where a.id=b.id)
追问
你这个B是哪里来的,我这个没看太明白,能更详细点吗
追答
b的意思就是把下面的这段sql取出的数据抽象为一个表,并为这个集合起一个别名为b
(select min(id),Lname from LinkUser group by Lname)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select Lname,count(id) from LinkUser group by Lname having count(id)>1
select UserName,count(id) from LinkUser group by UserName having count(id)>1
select UserName,count(id) from LinkUser group by UserName having count(id)>1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询