sql – 如何根据A COLUMN的不同值来选择行
发布时间:2020-12-12 16:17:01 所属栏目:MsSql教程 来源:网络整理
导读:我需要查询表以返回行,但是我无法正确查询表.这是我的表格视图: Id MailId EmailAddress Name1 1 a@a.com Mr. A2 1 b@b.com Mr. B3 1 c@c.com Mr. C4 1 d@d.com Mr. D5 1 a@a.com Mr. A6 2 e@e.com Mr. E7 2 a@a.com Mr. A8 3 f@f.com Mr. F9 4 d@d.com Mr.
我需要查询表以返回行,但是我无法正确查询表.这是我的表格视图:
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的行是您的结果似乎描绘的行 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |