如何同时查询出数据库中的重复和不重复的数据

例如某表A中,有的数据的name字段存在重复的情况,如ID5ID6的name的值都是'aaa',我想达到的效果是列出所有name不重复的数据的同时,只列出1条name重复... 例如某表A中,有的数据的name字段存在重复的情况,如ID5 ID6的name的值都是'aaa',我想达到的效果是列出所有name不重复的数据的同时,只列出1条name重复的数据,如上面的ID5和ID6因为它们的name值相同,所以只列出ID5的数据,同时在ID5数据的前面加一个标示,表明有其他数据和ID5的name字段值相同。

最后预想列表结果如下:
-ID NAME
-1 a
-2 b
-3 c
-4 d
+5 aaa
-7 e
-8 f

请问这样的mysql语句该怎么写
展开
 我来答
tim_spac
2013-05-09 · TA获得超过3628个赞
知道大有可为答主
回答量:1804
采纳率:100%
帮助的人:1987万
展开全部
select
case cnt
when 1 then '-'
else '+' end as flag,
id,
name
from (
select count(1) as cnt, min(id) as id, name
from tb group by name
) as a
tj_angela
2013-05-09 · TA获得超过7529个赞
知道大有可为答主
回答量:6797
采纳率:75%
帮助的人:2505万
展开全部
select name,case count(*) when 1 then 'only one' else 'duplicated' end flag
from A
group by name
;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式