选择 sum() 大小写

问题描述

我正在尝试使这个查询工作,但我找不到问题:

"SELECT  "
        . "CASE victima "
        . "WHEN LIKE serviciul_sursei THEN SUM(nr_victime) as nr_vict FROM listaint WHERE victima = '".$victima[$k0]."' "
        . "WHEN NOT LIKE serviciul_sursei THEN SUM(nr_victime) as nr_vict1 FROM listaint WHERE serviciul_sursei = '".$victima[$k0]."' "
        . "END "

解决方法

美好的一天,

问题

  1. 您没有在您的 end 标签后指定一个表来选择。
  2. 您还应该在 case 标记之前指定要选择的列。
  3. 您还错误地使用了 like 操作。当 column 喜欢 predicate 然后……
  • 这里是一个案例查询的例子

    SELECT OrderID,Quantity,CASE WHEN Quantity > 30 THEN 'The quantity is greater than 30'
    WHEN Quantity = 30 THEN 'The quantity is 30'
    WHEN Quantity like '10%' THEN 'The quantity is like 10'
    ELSE 'The quantity is under 30'
    END AS QuantityText
    FROM OrderDetails;
    

您可以在此处运行此查询 W3Schools 案例查询

详细了解Case information

详细了解Like Information

  • SUM Case 查询示例

    SELECT OrderID,SUM(CASE WHEN Quantity like '10%' THEN 1 ELSE 0 END) likeCount,SUM(CASE WHEN Quantity > 25 THEN 1 ELSE 0 END) greaterCount 
    FROM OrderDetails;
    
,

试试这个(不确定我是否正确理解了您的需求):

SELECT  
     SUM(if(victima like serviciul_sursei,nr_victime,0)) as nr_vict,SUM(if(victima not like serviciul_sursei,0)) as nr_vict1 
FROM listaint