NipCat 2019-05-14 16:50 采纳率: 0%
浏览 494

R中用sql语句求和,显示为0

根据type,operation,k_symbol对amount分组求和以及求平均,amount列存在空值(不知道是不是这个原因导致结果显示全部为0),代码如下

```result_1_1=sqldf("select type,operation,k_symbol,

  • count(*) as count_id,
  • sum(amount) as sum_of_amount,
  • avg(amount) as avg_of_amount from trans group by type,operation,k_symbol")
![图片说明](https://img-ask.csdn.net/upload/201905/14/1557823867_723229.jpg)

考虑会不会是空值的原因,于是修改代码,将空值赋值为0,代码如下:

result_1_1<-sqldf("select type,operation,k_symbol,

  • count(*) as count_id,
  • sum(ifnull(amount,0)) as sum_of_amount,
  • avg(ifnull(amount,0)) as avg_of_amount from trans group by type,operation,k_symbol") ``` 但是结果和上图一样,希望大神能帮忙解答一下,感激不尽
  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-03-15 07:24
    关注

    根据问题描述,可以确定不是空值导致结果显示为0的问题。可能的原因是在使用ifnull函数时没有将其连接符号设置为"+"。因此,您可以尝试修改代码如下:

    result_1_1 <- sqldf("select type, operation, k_symbol,
                         count(*) as count_id,
                         sum(ifnull(amount, 0)) as sum_of_amount,
                         avg(ifnull(amount, 0)) as avg_of_amount 
                         from trans 
                         group by type, operation, k_symbol")
    

    在此基础上,如果仍然不能解决问题,可以尝试检查一下数据是否在sql语句处理之前就已经被正确地清洗和处理好了。

    评论

报告相同问题?

悬赏问题

  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发