我需要查询表以便返回行,但我无法正确查询表。这里是我的表视图:如何根据A COLUMN的不同值选择行
Id MailId EmailAddress Name
1 1 [email protected] Mr. A
2 1 [email protected] Mr. B
3 1 [email protected] Mr. C
4 1 [email protected] Mr. D
5 1 [email protected] Mr. A
6 2 [email protected] Mr. E
7 2 [email protected] Mr. A
8 3 [email protected] Mr. F
9 4 [email protected] Mr. D
10 5 [email protected] Mr. F
11 6 [email protected] Mr. D
结果集应该返回:
Id MailId EmailAddress Name
1 1 [email protected] Mr. A
2 1 [email protected] Mr. B
3 1 [email protected] Mr. C
4 1 [email protected] Mr. D
6 2 [email protected] Mr. E
8 3 [email protected] Mr. F
换句话说:首先,我要选择不同的电子邮件地址,然后返回一个包含不同的E-行邮件地址。
注意:只使用“Distinct”关键字在这里不起作用,因为它会选择不同的行。我的要求是选择不同的电子邮件地址,然后选择包含这些地址的行。
编辑:我也不能使用“Group By”关键字,因为为此我还需要将Group By与Id(这是PK)并且这样做会返回两个具有相同EmailAddress值的行,但与不同的Ids。
为什么你不使用GROUP BY EmailAddress ...如果你通过你的PK进行分组,它不会做任何事情,因为主键总是唯一的,所以group by statement不会做任何事情..如果你通过emailAddress使用group获得与您指定的结果相同的结果... – blejzz
您似乎想要为这两个选择不同的EmailAddress和Name以及第一个匹配的Id,MailId。那是对的吗?我也很好奇如何使用Id和MailId。 –
通过主键分组毫无意义。分组会删除重复的值。主键按定义不能有重复。 – Thilo