sql - 如何优化这个查询?

标签 sql sql-server-2005

我在 SQL Server 2005 中有一个包含 ID,paymentType,price 列的表 sales

create table sales(id int IDENTITY(1,1),
                   paymentType varchar(2), 
                   price decimal(10,2) default(0)
                  )

有没有一种方法可以在一个查询中执行此操作?

SELECT SUM(price) as TE 
FROM sales 
WHERE paymentType = 'E' 

SELECT SUM(price) as TC 
FROM sales 
WHERE paymentType = 'C'

最佳答案

您可以使用 GROUP BY 按 paymentType 对您的值进行分组,并获得“E”和“C”的两条记录及其总和

SELECT paymentType,SUM(price) 
FROM sales 
WHERE paymentType = 'E' or paymentType = 'C'
GROUP BY paymentType

关于sql - 如何优化这个查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15812674/

相关文章:

mysql - MySQL 中来自 PostgreSQL 的 "Index-only scans"的模拟

mysql - 最后一个条目 SQL 的 UPDATE 字段

sql - 删除 SQL 会锁定表以防止新数据插入 SQL Server 2005 吗?

sql - 选择仅出现在两个表之一中的数据的最佳方法是什么?

c# - C#和SQL Server中嵌套using的使用

sql - SQL获取记录条数的方法

c# - 定期为自定义 SQL 查询提供 "Totals"

mysql - 是否可以将 SELECT-IN-SELECT 查询转换为 JOIN 查询?

SQL从临时表插入表,并将输出插入临时表

sql - 外键约束