gpt4 book ai didi

sql - 我应该在查询中使用非重复

转载 作者:行者123 更新时间:2023-12-03 21:08:11 28 4
gpt4 key购买 nike

在最近的工作中,我被告知在您的查询中使用distinct是程序员的坏兆头。所以我想知道我不使用此功能的唯一方法是使用的组。

我的理解是,不同的功能与组的工作方式非常相似,但其读法却不同。一个独特的功能检查每个单独的选择标准与一个组,通过该组只能整体上完成相同的操作。

请记住,我只做报告。我不创建/更改数据。所以我的问题是关于最佳实践,应该使用区别对待还是分组依据。如果两者都不是,则有其他选择。也许应该在比我这里的非真实示例更复杂的查询中使用group by,但是您可以理解。我找不到真正能解释为什么或为什么不应该在查询中使用distinct的答案

select distinct
spriden_user_id as "ID",
spriden_last_name as "last",
spriden_first_name as "first",
spriden_mi_name as "MI",
spraddr_street_line1 as "Street",
spraddr_street_line2 as "Street2",
spraddr_city as "city",
spraddr_stat_code as "State",
spraddr_zip as "zip"
from spriden, spraddr
where spriden_user_id = spraddr_id
and spraddr_mail_type = 'MA'

VS
select
spriden_user_id as "ID",
spriden_last_name as "last",
spriden_first_name as "first",
spriden_mi_name as "MI",
spraddr_street_line1 as "Street",
spraddr_street_line2 as "Street2",
spraddr_city as "city",
spraddr_stat_code as "State",
spraddr_zip as "zip"
from spriden, spraddr
where spriden_user_id = spraddr_id
and spraddr_mail_type = 'MA'
group by "ID","last","first","MI","Street","Street2","city","State","zip"

最佳答案

数据库很聪明,可以识别您的意思。我希望您的两个查询都能取得同样的效果。对于其他维护您的查询的人来说,了解您的意思很重要。如果您真的想检索不同的记录,请使用DISTINCT。如果您打算进行汇总,请使用GROUP BY
看看this question。有一些不错的答案可能会有所帮助。

关于sql - 我应该在查询中使用非重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33651429/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com