SELECTSUM(IF(category='电子产品'ANDYEAR(sale_date)=2023,amount,0))ASelectronic_sales,SUM(IF(category='家用产品'ANDYEAR(sale_date)=2023,amount,0))AShome_salesFROMsales; 1. 2. 3. 4. 5. 代码解析: SUM(IF(...)): 使用IF函数来判断条件,如果条件为真则返回amount的值,否则返回 0。 YEAR(s...
以下是一个完整的示例,演示如何使用IF和SUM函数在MySQL中实现多条件计算: -- 创建表格CREATETABLEorders(OrderIDINTPRIMARYKEY,CustomerIDINT,AmountDECIMAL(10,2),StatusVARCHAR(20));-- 插入示例数据INSERTINTOorders(OrderID,CustomerID,Amount,Status)VALUES(1,1,100,'pending'),(2,2,200,'completed'),(3,1...
sum(IF(type = 3 and type_son = 0,value,NULL)) as xj2, sum(IF(type = 4 and type_son = 3,value,NULL)) as xj3 from table where user_id = 1 sum(IF('条件判断','求和的字段','NULL不计算')) as '别名'
1.无条件求和 sum(字段名); 2.多条件求和 1) sum(IF(c1>0, c1, 0)); 2)(IF(o.is_cod=0, o.order_amount-IF(b.back_status>0 AND b.back_status<5, b.refund_money, 0), 0)) - SUM(IF(o.is_cod=0, o.shipping_fee, 0)) - SUM(IF(o.change_amount=0, o.change_amount, 0))...
1.⽆条件求和 sum(字段名);2.多条件求和 1) sum(IF(c1>0, c1, 0));2)(IF(o.is_cod=0, o.order_amount-IF(b.back_status>0 AND b.back_status<5, b.refund_money, 0), 0)) - SUM(IF(o.is_cod=0, o.shipping_fee, 0)) - SUM(IF(o.change_amount=0, o.change_amount,...
使用IF函数 MySQL也支持IF()函数,你可以这样使用它: 代码语言:txt 复制 SELECT SUM(IF(condition, column, 0)) AS sum_column FROM table_name; 这里的condition、column和table_name的含义与上面相同。 应用场景 这种条件求和的方法在多种场景下都很有用,比如: ...
### 基础概念 MySQL中的多个条件求和通常使用`SUM()`函数结合`WHERE`子句来实现。`SUM()`函数用于计算数值列的总和,而`WHERE`子句用于指定筛选条件。 ### 相关优势...
order by (sum(if(date='20220531',money,null)) - sum(if(date='20220430',money,null))) desc 上述代码,只能在MySQL中实现,并且用时比CASE语句快2ms,在DB2中却会报错。在进行分条件求和时,DB2只能使用SUM和CASE结合;MySQL可以用SUM和CASE/IF结合。
1、创建测试表,create table test_person(id int, RMB int);2、插入测试数据 insert into test_person values(1,180);insert into test_person values(2,170);insert into test_person values(3,290);insert into test_person values(4,160);insert into test_person values(5,299);insert ...