在 MySQL 中对 DISTINCT 查询使用 MIN MAX 查询?
Using a MIN MAX query over a DISTINCT one in MySQL?
随着我的新工作,我需要越来越多地使用 SQL。因为我需要删除 重复的列 我认为最好使用 DISTINCT
语句。但是,有人指出 MIN MAX
语句可能更适合。由于我对 SQL 还很陌生,所以我想知道是否可以就何时使用其中一个而不是另一个获得一些建议。感谢所有帮助!
提前致谢!
评论有点长
首先,构造是 select distinct
,而不仅仅是 distinct
。这是一个重要的区别,人们在学习 SQL 时经常混淆。
其次,select distinct
和min()
/max()
做不同的事情。后者是聚合函数,应与 group by
.
一起使用
在我看来,select distinct
是 SQL 语言中不必要的部分。它所做的几乎所有事情都可以由 group by
处理。学会正确使用 group by
对你来说会好很多。 (并且,作为旁注,select distinct
几乎从不与 group by
一起使用。)
Max 和 Min 每个 return 一个结果(一条记录有 Max 或 Min 值)而 DISTINCT returns all 唯一值(避免重复)。
随着我的新工作,我需要越来越多地使用 SQL。因为我需要删除 重复的列 我认为最好使用 DISTINCT
语句。但是,有人指出 MIN MAX
语句可能更适合。由于我对 SQL 还很陌生,所以我想知道是否可以就何时使用其中一个而不是另一个获得一些建议。感谢所有帮助!
提前致谢!
评论有点长
首先,构造是 select distinct
,而不仅仅是 distinct
。这是一个重要的区别,人们在学习 SQL 时经常混淆。
其次,select distinct
和min()
/max()
做不同的事情。后者是聚合函数,应与 group by
.
在我看来,select distinct
是 SQL 语言中不必要的部分。它所做的几乎所有事情都可以由 group by
处理。学会正确使用 group by
对你来说会好很多。 (并且,作为旁注,select distinct
几乎从不与 group by
一起使用。)
Max 和 Min 每个 return 一个结果(一条记录有 Max 或 Min 值)而 DISTINCT returns all 唯一值(避免重复)。