gpt4 book ai didi

sql - 计算ms sql中选择的修改结果

转载 作者:行者123 更新时间:2023-12-04 05:03:26 26 4
gpt4 key购买 nike

我想根据返回的 2 个字段对选择的结果进行计数,并使用 group by 子句来执行此操作。尽管我使用 substring 和 patindex 修改了返回的字段之一以获取结果中冒号后的所有内容,但最终得到一列包含“paper”或“online”一词。我想计算论文和在线结果的数量,但我得到的结果是根据该领域的原始内容而不是我修改的内容来计算的。这就是我现在正在做的事情:

select field1, field2, 
case when substring(field3, patindex('%:%',field3)+1, 6) = 'Paper' then 'paper'
else 'online' end, count(field3) 'Count'
from theTable
group by field2, field1, field3
order by field2, field1

我也试过:
select field1, field2, 
count(case when substring(field3, patindex('%:%',field3)+1, 6) = 'Paper' then 'paper'
else 'online' end) 'Count'
from theTable
group by field2, field1, field3
order by field2, field1

我需要做什么才能得到我想要的计数?

最佳答案

SELECT  field1,
field2,
SUM(CASE WHEN substring(field3, patindex('%:%', field3) + 1, 6) = 'Paper'
THEN 1
ELSE 0
END) totalPaper,
SUM(CASE WHEN substring(field3, patindex('%:%', field3) + 1, 6) <> 'Paper'
THEN 1
ELSE 0
END) totalOnline,
count(field3) TotalCount
FROM theTable
GROUP BY field2, field1
ORDER BY field2, field1
  • SQLFiddle Demo

  • mellamokb对于 fiddle 链接。 :D

    关于sql - 计算ms sql中选择的修改结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15834115/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com