选择MySQL中是否还有

时间:2015-05-27 09:46:30

标签: mysql

我遇到了根据具体情况选择和更改列名称的问题。例如,如果我的表A包含namedatevalue属性,则其中:

name    |date         |value
iphone  |2015-05-01   |1
ipad    |2015-05-09   |3
ipod    |2015-05-20   |6

现在我想选择这个表满足条件,如果name不等于samsungnokia所以它应该分配给apple,如果它们的值应该是和是在同一个月。例如,此表将显示结果:

name    |date        |value
apple   |2015-05     |10 

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

这个想法是:你可以在mysql的group by子句中使用别名,但是如果别名等于列名,我想你会遇到一些问题。

select 
       case when name in ('samsung', 'nokia') then name else 'apple' end as name1,
       EXTRACT( YEAR_MONTH FROM date)  as date1,
       SUM(value) as value
from table1
group by 
  name1,
  date1

请参阅SqlFiddle