Select 用 sum() 大小写

Select with sum() case

我正在尝试使此查询正常工作,但我找不到问题所在:

"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 标签之后指定 table 应该 select 的位置。
  2. 您还应该在 case 标记之前指定要 select 的列。
  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, Quantity,
    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,nr_victime,0)) as nr_vict1 
FROM listaint