簡體   English   中英

如果count大於1,則替換第二個值

[英]Replace second value if count is greater than one

我有一個問題

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM