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

基于其他列的SUM(DISTINCT)

屈星腾
2023-03-14
问题内容

我目前有一张看起来像这样的表:

+------+-------+------------+------------+
| id   | rate  | first_name | last_name  |
+------+-------+------------+------------+

我需要做的是获得“ SUM费率”列的信息,但每个名称仅获得一次。例如,我有三行John
Doe,每行的比率为8。我需要将SUM这些行的比率设为8,而不是24,因此它为每组名称都对比率进行一次计数。

SUM(DISTINCT last_name, first_name)当然是行不通的,因为我试图对比率列而不是名称求和。我知道在对单个记录进行计数时,我可以使用COUNT(DISTINCT last_name, first_name),这就是我试图从中得到的行为类型SUM

我怎样才能SUM为每个名字获得一个比率?

提前致谢!


问题答案:
select sum (rate)
from yourTable
group by first_name, last_name

编辑

如果要获取所有这些小“ sums”的总和,则将得到所有表的总和。

Select sum(rate) from YourTable

但是,如果由于某些原因有所不同(where例如,如果使用),并且您需要上述选择的总和,那就这样做。

select sum(SumGrouped) from 
(    select sum (rate) as 'SumGrouped'
    from yourTable
    group by first_name, last_name) T1


 类似资料:
  • 问题内容: 我一直在努力设计MySQL查询来解决问题。我试图遍历“销售”列表,在其中尝试按客户ID的累计总支出对列出的客户ID进行排序。 在客户ID相同的情况下,如何在汇总购买价格的表中进行迭代? 预期结果如下: 我要:从Sales中选择Customer ID,总和(PurchasePrice)作为PurchaseTotal,其中CustomerID =(从PurchaseTotal升序中选择与销

  • 我有5张桌子要放在一起。表格包括:访客、报价、合同1、合同2和合同3。 查询: 这里的问题是,contracts1、contracts2和contracts3并没有公共列以便连接在一起。因此,我得到的不是合同1的20行,合同2的30行,合同3的50行,而是所有这些的组合。因为它们是根据访问者和提供的表加入的。查询结束时使用简单的GROUP BY通常可以解决问题,但如果我在最后对其中一个表(或所有表

  • 我正在使用pyspark下面是我的数据

  • 我有以下问题,因为我是pyspark的新手。基于来自两列的值的条件,我想填充第三列。条件是: < li >如果分号包含在col2中,请检查col1 < ul > < li >如果col1 == 1,则取分号前的值 < li >如果col1 == 2,则取分号后的值 这就是数据帧的样子。 我创建了下面的udf,它给出了错误“不能将列转换为布尔值:请使用” 我通过谷歌搜索各种功能构建了这个udf,所以

  • 问题内容: 我有K个特征向量,它们全部共享维n,但具有可变维m(nxm)。他们都一起生活在一个清单中。 我正在寻找的是一种聪明的方法,以零填充这些np.arrays的行,以便它们都共享相同的维m。我曾尝试使用np.pad解决它,但我还无法提出一个漂亮的解决方案。朝正确方向的任何帮助或推动将不胜感激! 结果应该使数组看起来像这样: 问题答案: 您可以使用它,它也可以使用指定填充宽度的元组填充数组。为

  • 我有以下问题: 包含带有字符串 、 或 C 的 。 带有的第二个 。 以及其他三列 、 和 (这些列也命名为 、 和 )。 因此 应获得 现在我想遍历每一行,并根据 中的条目将 中的整数分配给列 A、B 或 C。 如何实现此目的? < code>df.withColumn()我不能使用(或者至少我不知道为什么),对于< code>val df2 = df.map(x = 提前期待您的帮助和感谢!