def df_agg_sum(df, aggCol, *sumCols):
    """Dataframe - aggregate by column and sum

    groups all the rows that have the same value for aggCol, and sums their sumCols
    
    :param df: dataframe to use
    :type df: pyspark.sql.DataFrame
    :param aggCol: column to aggrate on
    :type aggCol: str
    :param *sumCols: columns to sum
    :type *sumCols: str
    :returns: resulting dataframe
    :rtype: pyspark.sql.DataFrame
    """
    df_agg = df.groupBy(aggCol).sum(*sumCols)
    renameCols = [f"`sum({col})` as `{col}`" for col in sumCols]
    return df_agg.selectExpr(aggCol, *renameCols)