我需要能够选择我的整个表格,但是如果存在重复的ID,则只根据不同字段中的数据选择其中一个。
例如,如果我的表看起来像这样
我想选择所有行,但如果有2个相同的ID,请仅选择Billing
作为地址类型的行。
答案 0 :(得分:2)
你可以这样做:
select * from Table1
where (AddressType='Billing') or
(AddressType='Shipping' and ID not in (select ID from Table1 where AddressType='Billing'))
order by ID
<强>解释强>
第一个条件是仅过滤Billing
个地址类型。
第二个条件是过滤Shipping
没有Billing
且ID相同的地址类型。
答案 1 :(得分:0)
试试这个 -
SELECT *, ADDRESS
FROM (SELECT MIN(ID), ADDRESSTYPE
FROM YOUR_TABLE
GROUP BY ADDRESS) X