MySql 根据其他列值查询求和行

标签 mysql

嘿,我的逻辑真的很奇怪,有人可以帮我写查询吗?我想对 regOption 的所有价格求和,其中 regOption 也有 xnCoupon(优惠券和 regOption 共享相同的 entry_id)。在这个例子中,想要的数量是 139。

|id         |trans_id|  entry_id    |type     | Price
------------------------------------------------------ 
|43575855   |24419612|  26898343    |regOption|  139         
|43575856   |24419612|  26898343    |xnCoupon |  50

|43575857   |24419612|  26898346    |regOption|  139         
|43575858   |24419612|  26898346    |Tshirt   |  10

在第二个例子中,想要的数量是 278

|id         |trans_id|  entry_id    |type     | Price
------------------------------------------------------ 
|43575855   |24419612|  26898343    |regOption|  139         
|43575856   |24419612|  26898343    |xnCoupon |  50

|43575857   |24419612|  26898346    |regOption|  139         
|43575858   |24419612|  26898346    |xnCoupon |  50

我的尝试是这样的

Select sum(price) FROM table where type ='regOption' AND (something) 检查 regOption 是否与 xnCoupon 通过相同的 entry_id 相关?

有人可以帮我逻辑,欢迎任何帮助

最佳答案

SELECT SUM(price) 
FROM table 
WHERE type = 'regOption' 
AND entry_id IN
(
    SELECT entry_id 
    FROM table 
    WHERE type = 'xnCoupon'
)

关于MySql 根据其他列值查询求和行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43411120/

相关文章:

php - 我是否需要打开 MySQL 端 Eloquent 能使 DigitalOcean LAMP 应用程序正常工作?

php - Mysql查询比较字符串(varchar)作为整数

mysql - 挂载 LVM2 并从故障 HDD 中恢复丢失的数据?

mysql - 在多列上建立索引以进行动态选择的最佳方法

mysql - 如果表中不存在行,如何获取另一行的值?

php - 如何将 MySQL 代码转换为 PDO 语句?

php - 从mysql获取数据并绘制图表

mysql - 关于索引的 select * 和 select column 的区别

c++ - 如何使用 C++ 连接 mySQL 数据库

mysql - sql:连接和计数