SQL Select Distinct仍显示重复项

Bra*_*ole -1 sql sql-server sql-server-2008

我使用该DISTINCT子句有以下查询,但结果仍然显示重复的ID:

SELECT DISTINCT 
    rl.countryid, rl.resellerid, c.countryname, c.iso2, r.resellerid 
FROM reseller_locator rl 
INNER JOIN countries c 
    ON rl.countryid = c.countryid
LEFT JOIN resellers r 
    ON r.parentid = 7 
WHERE 
    rl.resellerid = 7 
    OR rl.resellerid = r.resellerid
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在此输入图像描述

Mar*_*ski 5

DISTINCT涉及指定的所有列,因此如果您有2个相同countryid但不同的记录,则resellerid两者都会显示.

  • 您需要确定哪个列具有不同的值.然后,您需要确定要保留的值.如果您不在乎最快的解决方案是在其上使用"MAX".发布一些样本数据,我们可以进一步提供帮助 (4认同)