RHP*_*HPT 2 sql t-sql sql-server performance distinct
除了使用DISTINCT函数之外,还有没有更好的方法来从一个表的三列中获取所有不同的值?我也尝试过了GROUP BY,但是在成本上似乎没有任何明显的区别。
SELECT DISTINCT Table1.Col1, Table2.Col1, Table1.Col3
FROM Table1
INNER JOIN Table2 ON Table1.FK = Table2.ID
WHERE Table1.Foo = 1865 AND Table2.Type = 1
Run Code Online (Sandbox Code Playgroud)
GROUP BY用于聚合功能;DISTINCT只是从可见度中删除重复项(基于每行匹配的所有列值)。
如果TABLE2允许与TABLE1记录相关联的重复值,则必须使用任一选项。取决于数据和要查看的内容,但是您可以使用group by&聚合函数从TABLE2获取最高(使用MAX)或最低(使用MIN)值...