微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在mysql查询中计算SUM作为别名字段

如何解决在mysql查询中计算SUM作为别名字段

我正在尝试通过添加两个别名字段的总和来修改查询

原始查询是:

SELECT event_date.Meta_value AS 'Event Date',ugm.group_id AS 'Gig ID',p_title.post_title AS 'Client',event_venue.Meta_value AS 'Venue',wum_l.Meta_value last_name,wum_f.Meta_value first_name,wum_m.Meta_value AS 'Miles',wum_mp.Meta_value AS 'Mileage Pay',wum.Meta_value  AS 'Gig Pay' 
FROM wp_users wu
INNER JOIN wp_um_groups_members ugm
    ON  ugm.user_id1 = wu.id
LEFT JOIN  wp_userMeta wum
    ON wu.id = wum.user_id
    AND wum.Meta_key = CONCAT('um_groups_',ugm.group_id,'_price')   
LEFT JOIN wp_userMeta wum_f
    ON wu.id = wum_f.user_id
    AND wum_f.Meta_key = 'first_name'
LEFT JOIN wp_userMeta wum_l
    ON wu.id = wum_l.user_id
    AND wum_l.Meta_key = 'last_name'
LEFT JOIN wp_posts p_title
    ON p_title.id = ugm.group_id
LEFT JOIN wp_userMeta wum_m
    ON wu.id = wum_m.user_id
    AND wum_m.Meta_key = CONCAT('_um_groups_','_mileage') 
LEFT JOIN wp_userMeta wum_mp
    ON wu.id = wum_mp.user_id
    AND wum_mp.Meta_key = CONCAT('um_groups_','_mileage_price')
LEFT JOIN wp_postMeta event_date
    ON event_date.post_id= ugm.group_id    
    AND event_date.Meta_key = '_um_groups_event_start'
LEFT JOIN wp_postMeta event_venue
    ON event_venue.post_id= ugm.group_id    
    AND event_venue.Meta_key = '_um_groups_event_venue'
 WHERE  STR_TO_DATE(event_date.Meta_value,'%Y/%m/%d') BETWEEN STR_TO_DATE('2021/1/01','%Y-%m-%d') AND STR_TO_DATE('2021/1/15','%Y-%m-%d') 
AND wum.Meta_value IS NOT NULL
ORDER BY wu.display_name  ASC;

我想要做的是创建一个名为 Total Pay 的最终别名字段,在其中计算每行的 Gig PayMileage Pay 的总和。

我遇到的问题是我在查询中使用 SUM获取每个匹配行的总和。我只想要每行的总和。

例如,预期的输出如下所示:

Event Date  Gig ID  Client      Venue       last_name   first_name  Miles   Mileage Pay Gig Pay Total Pay
2021/01/15  49270   Joe Schmoe  This Event  Doe         Joe         2       120         732     852 

如何修改查询显示包含每行总和的新别名字段?

解决方法

简单地添加这两个字段应该可以根据要求工作。

SELECT event_date.meta_value AS 'Event Date',ugm.group_id AS 'Gig ID',p_title.post_title AS 'Client',event_venue.meta_value AS 'Venue',wum_l.meta_value last_name,wum_f.meta_value first_name,wum_m.meta_value AS 'Miles',wum_mp.meta_value AS 'Mileage Pay',wum.meta_value  AS 'Gig Pay',wum_mp.meta_value + wum.meta_value  AS 'Total Pay' 
FROM wp_users wu
INNER JOIN wp_um_groups_members ugm
    ON  ugm.user_id1 = wu.id
LEFT JOIN  wp_usermeta wum
    ON wu.id = wum.user_id
    AND wum.meta_key = CONCAT('um_groups_',ugm.group_id,'_price')   
LEFT JOIN wp_usermeta wum_f
    ON wu.id = wum_f.user_id
    AND wum_f.meta_key = 'first_name'
LEFT JOIN wp_usermeta wum_l
    ON wu.id = wum_l.user_id
    AND wum_l.meta_key = 'last_name'
LEFT JOIN wp_posts p_title
    ON p_title.id = ugm.group_id
LEFT JOIN wp_usermeta wum_m
    ON wu.id = wum_m.user_id
    AND wum_m.meta_key = CONCAT('_um_groups_','_mileage') 
LEFT JOIN wp_usermeta wum_mp
    ON wu.id = wum_mp.user_id
    AND wum_mp.meta_key = CONCAT('um_groups_','_mileage_price')
LEFT JOIN wp_postmeta event_date
    ON event_date.post_id= ugm.group_id    
    AND event_date.meta_key = '_um_groups_event_start'
LEFT JOIN wp_postmeta event_venue
    ON event_venue.post_id= ugm.group_id    
    AND event_venue.meta_key = '_um_groups_event_venue'
 WHERE  STR_TO_DATE(event_date.meta_value,'%Y/%m/%d') BETWEEN STR_TO_DATE('2021/1/01','%Y-%m-%d') AND STR_TO_DATE('2021/1/15','%Y-%m-%d') 
AND wum.meta_value IS NOT NULL
ORDER BY wu.display_name  ASC;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?