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

小计和SQL

孔阳平
2023-03-14
问题内容

我有一张销售数据的SQL表(如下面的表),如何生成内联小计的结果集,理想情况下按收入最高的客户的降序对结果进行排序

因此,给出如下表:

CUS_ID  | PRODUCT | AMOUNT
12      | A       |  2.50
12      | B       |  5.80
24      | A       |  10.00
24      | B       |  30.00

我会得到以下结果:

CUS_ID  | Product | AMOUNT
24      | A       |  10.00
24      | B       |  30.00
24      | Total   |  30.00
12      | A       |  2.50
12      | B       |  5.00
12      | Total   |  7.50

到目前为止,我可以提供以下查询:

  SELECT cus_id, product, amount FROM Sales
UNION ALL
  (SELECT cus_id, 'ZZZZ' AS product, SUM(amount) FROM Sales GROUP BY cus_id)
ORDER BY cus_id, product

但是,查询使用“ ZZZZ”而不是“总计”(此后可以通过查找和替换来固定),但是查询没有按金额顺序排序。

编辑 :请随时发布不涉及排序的答案。实际上,一些答案对我很有帮助。


问题答案:

看看像

DECLARE @Sales TABLE(
        CUS_ID  INT,
        PRODUCT VARCHAR(20),
        AMOUNT FLOAT
)
INSERT INTO @Sales SELECT 12,'A', 2.50 
INSERT INTO @Sales SELECT 12,'B', 5.80 
INSERT INTO @Sales SELECT 24,'A', 10.00 
INSERT INTO @Sales SELECT 24,'B', 30.00

;WITH Vals AS (
        SELECT  cus_id, 
                product, 
                amount,
                1 DisplayOrder,
                SUM(amount) OVER(PARTITION BY cus_id) OrderTotal
        FROM    @Sales 
        UNION ALL   
        SELECT  cus_id, 
                'Total' AS product, 
                SUM(amount),
                2 DisplayOrder,
                SUM(amount)
        FROM    @Sales 
        GROUP BY cus_id
)
SELECT  cus_id,
        product,
        amount
FROM    Vals
ORDER BY  OrderTotal DESC,cus_id,DisplayOrder, product


 类似资料:
  • 我有一个带有此参数的qpid队列:bus-sync-query--耐用--file-size=48--file-count=64 我想把1000000条消息放到这个队列中。每条消息只是一个包含12个字符的字符串。(002000333222、002000342678等)。我必须将哪些值设置为config--file size=X--file count=Y才能将所有消息放入队列?

  • 问题内容: 我正在寻找一种方法来计算等于组的最小或最大项目数。我每隔几天收到一次商品,每两周输入一次。我需要查看每个EntryDate的最小值和最大值ReceivedDate,以及最小值和最大值处的项目计数。在MS Access中使用SQL。 输入 当前查询 电流输出 期望的输出 问题答案: 我不知道MS Access是否允许这样的子查询。如果这不起作用,请让我知道,我将删除答案。否则:

  • 表< code>events包含3700个项目。当我浏览它时,它只返回791个项目计数。这是为什么呢? 以下是 中的代码: {项目:[],计数:0,扫描计数:791,最后评估键:{日期:{N:'149987596175'}}}

  • 问题内容: 背景 我在SQL Server环境中设置了一个表,该表包含我正在跟踪的各种活动的日志。特定的日志项使用唯一的代码对正在发生的活动进行分类,并且日期时间字段跟踪该活动的发生时间。 问题 我想使用单个查询或存储过程来获取平均每小时的活动计数,并按一周中的星期几进行分组。例子: 现在,我有一个查询设置,它每天会吐出每小时的计数,但是我的问题是要进一步向前发展,并在一周中的某天取得平均水平。这

  • 本文向大家介绍极大似然估计和最小二乘估计的关系?相关面试题,主要包含被问及极大似然估计和最小二乘估计的关系?时的应答技巧和注意事项,需要的朋友参考一下 极大似然的估计的概念是最大化样本出现概率,即目标函数为似然函数,而最小二乘估计是为了最小化样本预测值与真实值之间的距离,即最小化估计值和预测值差的平方和,当似然函数为高斯函数时两者相同

  • 这个问题可能是封闭的,因为它听起来很模糊,但我真的问这个,因为我不知道或者我的数学背景不够。 我试图实现一个挑战,其中一部分挑战要求我计算矩阵的最小值和最大值。我对矩阵的实现及其操作没有任何问题,但是什么是矩阵的最小值和最大值?考虑到3x3矩阵是9个数中最小的数,最大的是最大的还是其他什么?