SQL如果为true,则查看不同的列值并对其进行计数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL如果为true,则查看不同的列值并对其进行计数相关的知识,希望对你有一定的参考价值。

我无法找到问题的答案。

我有这些数据:

Name  | Total | YTD  
------+-------+----
Item1 | 1     | 1
Item2 | 2     | 1

它应该运行如下:如果Total的值为1则需要查看YTD列,如果列具有值,则显示它们之间的比率。我需要所有的总价值1.是否有可能实现它?

我试过这种方式:

CASE 
   WHEN TOTAL = 1 
      THEN YTD 
      ELSE RATIO 
END AS RESULT.

它看起来应该是什么:当总数= 1时的情况,然后检查YTD是否为真计数总和和找到比率。

答案

它可以通过多种方式完成。例如用户案例stmt

   select case  when Total = 1 then
                              YTD
                             else
                              ratio
                           end as result
                      from tablename;
另一答案

你能试试这个选择案例吗? when(total = 1和ytd <> NULL)然后ytd / total else end作为tablename的结果

以上是关于SQL如果为true,则查看不同的列值并对其进行计数的主要内容,如果未能解决你的问题,请参考以下文章

如果相同的列值在多行中重复,则 UPDATE - SQL / MYSQL

如果 MYSQL 列值为 true,则选中复选框

如何检查来自不同数据框的列值?

如何按列值的计数进行分组并对其进行排序?

基于列值向sql中的列添加行值

查找最小值并包含正确的列值