mysql - 不同列的 SQL 求和

标签 mysql

我的出价表包含两个出价列bidsprice1bidsprice2。所有用户都有 bidsprice1 金额,部分用户还有 bidsprice2 金额

我想根据bidsprice2计算sum(bidsprice2),如果某些用户的bidsprice2为空,则根据其 bidsprice1

如何编写这个求和查询?

最佳答案

使用COALESCE()返回第一个非 NULL 参数。它可以直接包装在聚合 SUM() 内。这样做的优点是可以在需要时添加额外的列。

SELECT
  /* SUM() based on bidsprice2 if non-null, bidsprice1, or finally 0 if both NULL */
  SUM(COALESCE(bidsprice2, bidsprice1, 0)) AS your_sum
FROM yourtable

关于mysql - 不同列的 SQL 求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14242468/

相关文章:

php - 当我在 json 中检索数据时,我无法获取本地语言,而是获取 unicode

mysql - 如何从mysql数据库中选择键和值到json格式

javascript - 需要帮助将多行推送到 MySQL

mysql - 如何根据从中选择的表特定信息在 MySQL 中创建虚拟值列?

mysql - 获取相对于其他外键 id 最大的行

php - 如何从当前位置从数据库中获取信息?

php - 最小化同一张表 Mysql 上的选择查询

mysql - 不同行的 SQL SUM()

php - PDO 在单个查询中插入数据两次

php - 单击每行中的按钮时,如何更新显示 sql 数据的 html 表行?