mysql - 尝试从同一个表中获取匹配和不匹配的值

标签 mysql database

我试图从同一个表中获取匹配和不匹配的值,但它给出了 double 值这是我的查询

select
  sum(pp.redeem_points_used) as OnlineRewards,
  sum(pp1.redeem_points_used) as GlocalRewards,
  pp.user_details_id
from
  panalist_redeem_points as pp,
  panalist_redeem_points as pp1
where
  pp.transaction_id not like 'G%' and pp1.transaction_id like 'G%'
group by pp.transaction_id;

最佳答案

您只需选择一张表即可执行此操作:

select
  sum((pp.transaction_id not like 'G%')*pp.redeem_points_used) as OnlineRewards,
  sum((pp.transaction_id like 'G%')*pp.redeem_points_used) as GlocalRewards,
  pp.user_details_id
from
  panalist_redeem_points as pp
group by pp.transaction_id;

关于mysql - 尝试从同一个表中获取匹配和不匹配的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50907752/

相关文章:

mysql - 如何向引用数据类型 blob 列的表添加外键

php - 在 php 中选择 mysql 缺少的列

MySQL 17.6m rows (1.2 GB)全表更新太慢

MySQL 触发器在更改或删除时触发

php - 如何按组中的其他列排序?

database - 主键也是 super 键和候选键吗?

php - 如何将一个表中的ID替换为另一表中的相应值?

mysql - 通过CMD将文件插入mysql数据库

php - 插入mysql不完整值字段

java - 如何在 Java 中实现一个数据库监听器