Table:
firstname | lastname | age
Joey | Sanchez | 33
Joey | Sanchez | 33
Rachel | Dudok | 28
我正在尝试创建一个 MySQL select 语句,当 2 列重复时,该语句在年龄列中返回值“错误”
我尝试了 Case 语句,但它最终只返回 1 行。
SELECT
Firstname,
Lastname,
CASE
WHEN count(firstname) AND count(lastname) AND count(age) >= 2
THEN '**ERROR**'
ELSE age
END
FROM Table;
最佳答案
您可以尝试使用分组依据
:
select Firstname
, Lastname
, case when count(*) > 1 then '**ERROR**' else age end
from Table
group by Firstname
, Lastname
, age;
或者如果您想返回所有包含重复项的行:
select t.Firstname
, t.Lastname
, case when (select count(*)
from Table
where Firstname = t.Firstname and
Lastname = t.Lastname and
age = t.age) > 1 then '**ERROR**' else age
end
from Table t
关于mysql - 根据重复列返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30876878/