我有一个查询
select * from a;
现在它返回我三行像
ID NAME VALUE
1 A B
2 A C
3 D E
现在我想要的是,如果NAME重复,那么XYZ将被返回而不是A
.
我怎么能这样做?
SELECT
ID,
IF(Name = @prev, 'XYZ', Name) AS Name,
Value
, @prev:=Name
FROM a
, (SELECT @prev:=NULL) var
ORDER BY ID
如果我正确理解您的问题,请尝试
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