当前位置: 首页 > 面试题库 >

SUM()基于与SELECT不同的条件

蔺昊穹
2023-03-14
问题内容

嗨,有一种方法可以根据与SELECT语句其余部分不同的条件来执行SUM(total_points),所以我希望每行<= to $
chosentrack的SUM(total_points)吗?但SELECT语句的其余条件必须满足以下条件。我需要将它们全部归还..当我填充一个联赛桌时。

非常感谢您的帮助。

SELECT
    members.member_id,
    members.teamname,
    SUM(total_points) as total_points,
    total_points as last_race_points 
FROM
    members,
    members_leagues,
    member_results 
WHERE
    members.member_id = members_leagues.member_id 
    AND members_leagues.league_id = '$chosenleague' 
    AND member_results.track_id = '$chosentrack' 
    AND members_leagues.start_race = '$chosentrack' 
    AND member_results.member_id = members_leagues.member_id
GROUP BY
    members.member_id 
ORDER BY
    member_results.total_points DESC,
    last_race_points DESC, 
    members.teamname DESC

问题答案:

您也可以将总和放在case语句中,在case语句中评估其他条件,然后仅对条件为true的那些记录求和…

  SELECT m.member_id, m.teamname, 
    Sum(Case When r.track_Id = '$chosentrack' 
         Then total_points Else 0 End) TotalChosenTrackPoints,
    Sum(Case When r.track_Id < '$chosentrack' 
         Then total_points Else 0 End) TotalLessThanChosenTrackPoints, 
    total_points as last_race_points  
 FROM members m
    Join members_leagues l
       On l.member_id = m.member_id  
    Join member_results r
       On r.member_id = m.member_id
 Where l.league_id = '$chosenleague'
    And l.start_race = '$chosentrack'
 Group By m.member_id
 Order By r.total_points Desc, 
     last_race_points  Desc, m.TeamName Desc


 类似资料:
  • 问题内容: 我有两个表: 数量和unit_price(id |名称| order_id | qt | unit_price)和table 。 我想对相同的订单进行表和放置,以获取订单的总价。 该上的项目表查询很简单,适用于相同的order_id内的所有项目给予罚款数额: 但我无法在表中插入此值。我无法完成这项工作: 它返回 我在这里找到了一个非常类似的问题,但答案对我也没有用: 问题答案: 您可以

  • 问题内容: 我在SQL查询中使用sum()寻找帮助: 我使用它是因为我正在执行“分组依据”,这可以确保同一行不会被重复计数。 问题是SUM(conversions.value)对每行的“值”计数超过一次(由于分组依据) 我基本上想为每个DISTINCT conversions.id 做。 那可能吗? 问题答案: 我可能是错的,但据我了解 conversions.id* 是表 转换 的 主键 * s

  • 我有稍微不同的选择查询从同一个表中读取数据。 和正在更改。 在Laravel中,我最终为每种类型使用了1个查询,但是有10种类型,这意味着10 db连接——这不好。 将这些查询合并到一个查询中,以便建立一个数据库连接以获取所有数据的好方法是什么? (我正在寻找Laravel查询生成器实现这一点的方法)

  • 我有两个表格:,带有数量和单价(id | name | order | id | qt | unit | price)和表格。 我想表格并放入,以获得订单的总价。 items表上的查询非常简单,可以很好地为同一订单id内的所有项目求和: 但是我不能在我的表中插入这个值。我不能让这个工作: 它返回 我在这里发现了一个非常类似的问题,但答案对我来说并不适用:

  • 我的表格结构如下: 现在,要进行大规模更新,我将执行以下操作: 但是,我们不应该盲目地将状态设置为1,因为有一个条件。如果列的值等于

  • 问题内容: 我目前有一张看起来像这样的表: 我需要做的是获得“ 费率”列的信息,但每个名称仅获得一次。例如,我有三行John Doe,每行的比率为8。我需要将这些行的比率设为8,而不是24,因此它为每组名称都对比率进行一次计数。 当然是行不通的,因为我试图对比率列而不是名称求和。我知道在对单个记录进行计数时,我可以使用,这就是我试图从中得到的行为类型。 我怎样才能为每个名字获得一个比率? 提前致谢