如何避免在以下 SELECT 查询中使用 Distinct 或 Group By

格言

通常,我不使用distinctorgroupby但在以下查询中,我需要使用它,因为如果我不使用,它会将结果相乘。我想获得至少有 1 个订单的所有用户。

select distinct us.* from dbo.users us join dbo.orders o on us.id = o.userId

是否可以避免使用distinctgroupby在这里?

米莎·扎斯拉夫斯基

您可以EXISTS用于过滤器逻辑。

SELECT  U.*
FROM    dbo.Users U
WHERE   EXISTS
        (
            SELECT  TOP 1 1
            FROM    dbo.Orders O
            WHERE   O.UserId = U.Id
        );

请注意,这只是编写此查询的不同方式,distinct但不一定会提高查​​询性能。执行计划可能完全相同。您可以使用执行计划运行两个查询并进行比较。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何正确使用SELECT DISTINCT?

SQL SELECT DISTINCT和GROUP BY查询不起作用

如何在分组查询中使用distinct?

如何在sql语句中使用distinct和group

如何在 UPDATE 中避免 GROUP BY 或 DISTINCT

是否可以同时使用 SELECT DISTINCT 和 GROUP BY?

如何在Sequelize中的select查询中使用group_concat?

MySQL SELECT DISTINCT 查询

如何在DataTable.Select(Expression)中使用SELECT GROUP BY?

搜索 .select().group().distinct 可能吗?

对 OrmLite 使用 SELECT DISTINCT ON

如何在我的查询CODEIGNITER中使用DISTINCT

在MySQL中使用DISTINCT SELECT更新表

需要在SELECT DISTINCT中使用COLLATION

SQL 查询 SELECT DISTINCT WHERE BY

MYSQL 查询慢 SELECT DISTINCT

Postgres的蒸气3 /流质:如何进行SELECT DISTINCT查询?

如何使用 LINQ Group Records 和使用 Distinct

在sql查询中使用聚合函数时避免group by子句

如何使用 linq GROUP BY multiple 和 SELECT 查询

如何使用Linq Group By和Distinct进行Treeview

在以下查询中,如何在where子句中使用“ group”进行比较?

如何在PowerShell中使用max执行select group by?

如何在AngularJS的md-select中使用group by?

避免在SQL SELECT查询中使用冗余代码

如何在同一个SELECT语句中使用DISTINCT和ORDER BY?

如何在sql和php中的“ SELECT DISTINCT CASE WHEN”语句中使用“ ORDER BY”语句?

如何使用SELECT DISTINCT指定特定的自定义顺序

MySQL 查询 GROUP BY 或 DISTINCT 的对立面?