本文介绍了如何避免重复值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时删除!!

嗨!

我使用此查询来获取位置:



hi!
I use this Query to fetch location:

SELECT top 6 L_ID, L_Name, 1 as OBCol FROM Locations where L_Name like 'ban%' UNION  SELECT Distinct
top 4 L_ID, L_Name, 2 as OBCol FROM Locations where L_Name like '%ban%'  order by OBCol





我的结果显示为:





And my result shown as:

ID                 Name             OBCol
3	           Bandarban	          1
118	           Bangladesh	          1
3	            Bandarban	          2
18       	    Gaibandha	          2
102	            Albania	              2
118	            Bangladesh	          2







这里我不想显示Bandarban或Bandarban等重复值。我该怎么办?它plz hel p me



我尝试了什么:



据我所知联盟删除duplicay,我已经使用了联盟,但它不能那样做。如果我删除它的工作,但我需要使用group by。




here i don't want to show duplicate value like Bandarban or Bandarban.how can i do it plz help me

What I have tried:

As i know that Union remove duplicay and i already use union but it can't do that.if I remove group by then its working but i need to use group by.

推荐答案

SELECT top 6 L_ID, L_Name, 1 as OBCol
FROM Locations where L_Name like 'ban%'
UNION
SELECT top 4 L_ID, L_Name, 2 as OBCol
FROM Locations where L_Name like '%ban%'  and L_Name NOT LIKE 'ban%'
order by OBCol



或者你可以将UNION全部放在一起并使用CASE计算出值OBCol


Alternatively you could drop the UNION all together and work out the value OBCol using CASE

SELECT L_ID, L_Name,
CASE WHEN L_Name like 'ban%' THEN 1 ELSE 2 END as OBCol
FROM Locations where L_Name like '%ban%'
order by OBCol


这篇关于如何避免重复值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

1403页,肝出来的..

09-06 13:02