特定列的 DISTINCT 选择
虽然 DISTINCT 关键字通常会过滤掉具有任何重复项的整个行,但在某些情况下您可能需要不同的仅针对特定列的值。让我们探讨如何在从 Products 表检索数据的查询上下文中实现此目的。
原始查询从 Products 表检索所有列:
SELECT ID, Email, ProductName, ProductModel FROM Products
目标是修改查询以返回唯一的电子邮件地址,从而允许在其他列中出现重复项。为了实现这一点,我们可以利用 ROW_NUMBER() 函数以及通过电子邮件进行窗口分区。
SELECT * FROM ( SELECT ID, Email, ProductName, ProductModel, ROW_NUMBER() OVER(PARTITION BY Email ORDER BY ID DESC) rn FROM Products ) a WHERE rn = 1
以下是此增强型查询的操作方式:
因此,此修改后的查询会检索 Products 表中的所有列,确保不存在重复的电子邮件地址礼物。
以上是如何从 SQL 中的特定列中选择不同的值?的详细内容。更多信息请关注PHP中文网其他相关文章!