【发布时间】:2017-12-14 18:08:27
【问题描述】:
我正在尝试在 MySQL 数据库中查找具有重复项的每一行。
1 alex smith
2 bob smith
3 alex smith
我想回来:
1 alex smith
3 alex smith
此代码会查找重复项,但不会列出重复的每一行。
SELECT
*,
CONCAT(`firstName`, ' ', `lastName`) as full_name,
COUNT(*) d
FROM users
GROUP BY full_name
HAVING d > 1;
下面的代码是我试图获取重复的每一行,但我收到错误“#1054 - Unknown column 'full_name' in 'IN/ALL/ANY subquery'”
SELECT CONCAT(`firstName`, ' ', `lastName`) as full_name
FROM users
WHERE full_name IN (
SELECT CONCAT(`firstName`, ' ', `lastName`) as full_name
FROM users
GROUP BY full_name
HAVING COUNT(full_name) > 1
)
【问题讨论】:
-
为什么不简单:
where firstName='x' and lastName='y'? -
@Ali OP 也想查找所有其他重复项。
-
啊,好吧,问题理解错了
-
"*" 在这个查询的上下文中没有意义