[英]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.