2017-03-01 8 views
0

私はあなたからの助けを求めるでしょう。 例テーブル:どのようにこのようなmysqlクエリを行うには?

私は繰り返しの名前を見つけて、名前の値を変更し、反復値を合計する
| ID | NAME |POINT| 
| 1 | alex | 2 | 
| 2 | alex | 2 | 
| 3 | jenn | 4 | 
| 4 | shama| 3 | 
| 5 | jenn | 4 | 
| 6 | Mike | 1 | 

。 Like

| ID | NAME  |POINT| 
| 1 | alexander| 4 | 
| 2 | jennifer | 8 | 

mysqlクエリは可能ですか?おかげさまで

+0

'SUM(ポイント)GROUPを試してみてください?しかし、それではIDの意味は何ですか? – bansi

答えて

0

NAME` BYこの

select id, 
case when name = 'alex' then replace(NAME,'alex','alexander') 
    when name = 'jenn' then replace(NAME,'jenn','jennifer') 
    end as d,sum(point) 
    from name group by d having d is not null; 
+0

本当に素晴らしい@denny –

+0

よろしくお願いします。stackoverflow – denny

+0

'Alex%'のような名前の場合は、ポイントIDを のように変更してください(NAME、 "Ale%"、 "Alexander") dとして終了、合計(数量) hb_numberからpoint_id = 736 dはdがnullでない; –

0

これは必要なものですか?

select (@rn := @rn + 1) as id, name, sum(point) as point 
from t cross join 
    (select @rn := 0) params 
group by name 
having count(*) >= 2; 
関連する問題