Sql查询,其中列值是唯一的,不包括

时间:2017-09-25 12:00:02

标签: sql sql-server database

我的表名为用户,其中包含列

登录
名字
姓氏
和电子邮件地址。

我想出现的是什么 电子邮件,不是唯一,并且不显示以“ geen ”和“ na ”开头的电子邮件地址。
有人能帮帮我吗?

3 个答案:

答案 0 :(得分:3)

您可以使用like删除在where子句中启动或包含某些字符串的电子邮件。

如果您只想要email列和重复数量,可以使用count()聚合group by并使用having子句仅显示{{1}的结果1}}:

count(*) > 1

如果您想查看具有重复项的电子邮件的所有行数据,您可以使用common table expression以及select email, count(*) as cnt from users where email not like 'green%' and email not like 'na%' group by email having count(*) > 1 窗口聚合函数或row_number()

count(*) over()

答案 1 :(得分:2)

您可以使用:

SELECT email, COUNT(email) AS qty
FROM users
WHERE email NOT LIKE 'geen%'
AND email NOT LIKE 'na%'
GROUP BY email
HAVING ( COUNT(email) > 1 )

答案 2 :(得分:0)

SELECT * 来自用户 哪里的电子邮件不像'geen%'     和电子邮件不喜欢'na%'