首页 > 解决方案 > 如何将日期汇总到新列

问题描述

我想将 nba 比赛的结果汇总到一个全新的列中(nba database)例如:如果puntos_local > puntos_visitante该列puntos将增加3. 如果结果相等,则仅求和1

SELECT `equipo_local`, 
(case 
    when `puntos_local` > `puntos_visitante`
    then puntos=puntos+3 
    when `puntos_local` = `puntos_visitante`
    then puntos=puntos+1 
  end) AS puntos  
  FROM `partidos`

WHERE temporada LIKE "07/08"
-- GROUP BY `equipo_local`
ORDER BY puntos DESC, partidos.equipo_local

我也尝试过类似的东西:

SELECT `equipo_local`,
  Sum(Case ( When `puntos_local` > `puntos_visitante` Then  puntos=puntos+3 Else 0 End)) As puntos
 ,Sum(Case ( When `puntos_local` = `puntos_visitante` Then puntos=puntos+1 Else 0 End)) As puntos
  FROM `partidos`
WHERE temporada LIKE "07/08"
-- GROUP BY `equipo_local`
ORDER BY puntos DESC, partidos.equipo_local

https://imgur.com/a/ijPCEU9 . 我想要每场比赛的总分。如果puntos_local> puntos_visitantepuntos将是 puntos=puntos+3 如果是平局,我只想 sum 1

作为最终结果,我希望得到本赛季的总分。泰

标签: mysqlsql

解决方案


你可以试试这个

SELECT equipo_local, 
SUM(case 
    when puntos_local > puntos_visitante
    then 3 
    when puntos_local = puntos_visitante
    then 1
    else 0 
  end) AS puntos  
  FROM partidos

WHERE temporada LIKE "07/08"
GROUP BY equipo_local
ORDER BY puntos DESC, partidos.equipo_local

推荐阅读