0

質問があります

select * from a;

今では次のような3行が返されます

ID NAME VALUE

1   A     B

2   A     C

3   D     E

今私が欲しいのは、NAMEが繰り返される場合、 XYZが代わりに返されることですA

どうすればこれを行うことができますか?

4

2 に答える 2

2
SELECT
ID, 
IF(Name = @prev, 'XYZ', Name) AS Name,
Value
, @prev:=Name
FROM a
, (SELECT @prev:=NULL) var
ORDER BY ID
  • sqlfiddleでライブで動作するのを見てください
于 2013-06-28T09:28:56.393 に答える
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
于 2013-06-28T09:24:38.967 に答える