sql - 是否可以在不使用group by子句的情况下计算表中每个组的总和

标签 sql sql-server database tsql plsql

我想知道是否有任何方法可以汇总每种产品的销售额。我意识到我可以通过使用 group-by 子句或编写过程来实现它。 示例:

       Table name: Details
       Sales  Product
       10      a
       20      a
       4       b
       12      b
       3       b
       5       c

有没有一种方法可以在不使用 group by query 的情况下执行以下查询

select 
    product, 
    sum(sales) 
from 
    Details 
group by 
    product 
having 
    sum(sales) > 20

我意识到可以使用 Procedure,是否可以通过任何其他方式完成?

最佳答案

你可以做

SELECT product,
     (SELECT SUM(sales) FROM details x where x.product = a.product) sales
from Details a;

(并将其包装到另一个选择中以模拟 HAVING)。

关于sql - 是否可以在不使用group by子句的情况下计算表中每个组的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25966798/

相关文章:

java - 试图将 Java 变量传递给 sql 字符串

mysql - 如何重新编写 SQL 查询

php - MySQL - 具有多对多关系的 INNER JOIN 查询

c# - 在 C# 中调用 SQL 连接方法

mysql主机名不起作用

sql - 根据参数运行一个 where 子句条件

mysql - 出生日期 + 生日 SQL

sql-server - 将电力查询迁移到 SSAS 或 SSIS?

MySQL UNION、Order By 和 IN 语句合一查询

sql-server - 如何将可变数量的参数传递给 SQL Server 存储过程?