计算现有查询中列出的其中一列的总和

时间:2016-01-13 12:07:15

标签: php mysql wordpress

我使用wordpress和wpDataTables在特定网站的表格中显示数据。我编写了一个SQL查询,如下所示;

SELECT items.form_id as 'Form ID',
MAX(IF(`field_id` = 88,meta_value,NULL)) AS 'User ID',
MAX(IF(`field_id` = 96,meta_value,NULL)) AS 'Display Name',
MAX(IF(`field_id` = 95,meta_value,NULL)) AS 'User Role',
MAX(IF(`field_id` = 301,meta_value,NULL)) AS 'Your District',
MAX(IF(`field_id` = 97,meta_value,NULL)) AS 'Time Duty Logged',
MAX(IF(`field_id` = 84,meta_value,NULL)) AS 'Date of Duty',
MAX(IF(`field_id` = 85,meta_value,NULL)) AS 'Duty Start Time',
MAX(IF(`field_id` = 86,meta_value,NULL)) AS 'Duty End Time',
MAX(IF(`field_id` = 139,meta_value,NULL)) AS 'Duty Status',
MAX(IF(`field_id` = 142,meta_value,NULL)) AS 'Duty Type',
MAX(IF(`field_id` = 174,meta_value,NULL)) AS 'Which Event?',
MAX(IF(`field_id` = 103,meta_value,NULL)) AS 'Total Hours',
MAX(IF(`field_id` = 135,meta_value,NULL)) AS 'Duty Details',
MAX(IF(`field_id` = 136,meta_value,NULL)) AS 'End Section',
MAX(IF(`field_id` = 227,meta_value,NULL)) AS 'User Details',
MAX(IF(`field_id` = 228,meta_value,NULL)) AS 'End Section'
FROM wp_frm_item_metas as meta
JOIN wp_frm_items as items  ON (items.id = meta.item_id)
WHERE items.form_id = 6
GROUP BY meta.item_id

在wpDataTables中,它可以添加很棒的列过滤器。我想要做的是计算总数

MAX(IF(`field_id` = 103,meta_value,NULL)) AS 'Total Hours',

提供以下格式计算的单个值

TIME_FORMAT(SEC_TO_TIME(SUM(TIME_TO_SEC(wp_frm_item_metas.meta_value))),'%H:%i' ) AS calculated_total

使用表格中使用的过滤器,这将更新页面上显示的总小时数。

如何最好地解决这个问题,以获得该列中显示的总时数?

一旦我得到一个数值,我就可以创建一个图表,图表将显示该总数到屏幕。

我不确定是否甚至可以查询查询,以便在一个SQL语句的末尾给出我想要的内容。

非常感谢任何想法和帮助。

韦恩

0 个答案:

没有答案
相关问题