sql – 如何根据A COLUMN的不同值来选择行

前端之家收集整理的这篇文章主要介绍了sql – 如何根据A COLUMN的不同值来选择行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要查询表以返回行,但是我无法正确查询表.这是我的表格视图:
Id                MailId          EmailAddress          Name
1                 1               a@a.com               Mr. A
2                 1               b@b.com               Mr. B
3                 1               c@c.com               Mr. C
4                 1               d@d.com               Mr. D
5                 1               a@a.com               Mr. A


6                 2               e@e.com               Mr. E
7                 2               a@a.com               Mr. A
8                 3               f@f.com               Mr. F
9                 4               d@d.com               Mr. D

10                5               f@f.com               Mr. F
11                6               d@d.com               Mr. D

结果集应返回:

Id                MailId          EmailAddress          Name
1                 1               a@a.com               Mr. A
2                 1               b@b.com               Mr. B
3                 1               c@c.com               Mr. C
4                 1               d@d.com               Mr. D

6                 2               e@e.com               Mr. E
8                 3               f@f.com               Mr. F

换句话说:首先,我想选择不同的电子邮件地址,然后返回包含不同电子邮件地址的行.

注意:只有使用“Distinct”关键字在这里不起作用,因为它将选择不同的行.我的要求是选择不同的电子邮件地址,然后选择包含这些地址的行.

编辑:我不能使用“组合”关键字,因为这样我也必须使用组合(Id)(这是PK),这样做将返回两行具有相同的EmailAddress值但具有不同的ID.

解决方法

看看你的输出可能以下查询可以工作,试试看:
SELECT * FROM tablename
WHERE id IN
(SELECT MIN(id) FROM tablename GROUP BY EmailAddress)

这将为每个不同的电子邮件地址选择一行,最小id的行是您的结果似乎描绘的行

原文链接:https://www.f2er.com/mssql/82930.html

猜你在找的MsSQL相关文章