在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;

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...