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 "
美好的一天,
问题
- 您没有在您的
end
标签之后指定 table 应该 select 的位置。
- 您还应该在
case
标记之前指定要 select 的列。
- 你也用错了
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
我正在尝试使此查询正常工作,但我找不到问题所在:
"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 "
美好的一天,
问题
- 您没有在您的
end
标签之后指定 table 应该 select 的位置。 - 您还应该在
case
标记之前指定要 select 的列。 - 你也用错了
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