質問があります
select * from a;
今では次のような3行が返されます
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