我有一个查询
select * from a;
现在它返回三行,如
ID NAME VALUE
1 A B
2 A C
3 D E
现在我想要的是,如果 NAME 重复,那么 XYZ 将返回而不是A
。
我怎么能这样做?
答案 0 :(得分:2)
SELECT
ID,
IF(Name = @prev, 'XYZ', Name) AS Name,
Value
, @prev:=Name
FROM a
, (SELECT @prev:=NULL) var
ORDER BY ID
答案 1 :(得分:0)
如果我理解你的问题,请尝试
SELECT t1.id,
CASE
WHEN t1.c > 1 THEN 'xyz'
ELSE name AS n,
t1.value
FROM
(
SELECT id,name,count(name) c,value
FROM a
GROUP BY name
) t1