我正在尝试创建基于网络的报告,以显示某些广告的响应。
$sql1 = "
SELECT date
, source
, source_desc
, COUNT(ordernumber) count
, SUM(ordervalue) value
, type
FROM dailystats
WHERE client = '$client2'
AND event <> 'B02'
AND date BETWEEN '$start' AND '$end'
GROUP
BY source
ORDER
BY source;
";
这适用于我的表格以显示总值,但我想进一步细分。我目前有SOURCE {source},DESCRIPTION {source_desc},TOTAL ORDERS {count},TOTAL ORDER VALUE {value},作为我的标题,由上述字段填充。
当字段“TYPE”为“P”,“T”和“E”时,我希望以及当前总数包含更多列。我想让这个给我留下数据来填充新标题(当我把它们放入表格时)包括来源,描述,网页订单,网页订单价值,电话订单,电话订单价值,邮政订单,邮政订单价值,总订单,TOTAL ORDER VALUE。
我需要为新标题创建数据,因此WEB ORDERS将为我提供TYPE“E”的总订单。就其本身来说,这就像COUNT(ordernumber) count where type = "E"
,但我需要其中的多个,我无法让它发挥作用。
目前看起来像这样:
|Source|Source Description|Total Orders|Total Order Value|
|DM1 |Daily Mail 1 |500 |5,000 |
我想保留这些信息,但如上所述添加,看起来像这样。
|Source|Source Description|Web Orders|Web Order Value|Post Orders|Post Order Value|Mail Orders|Mail Order Value|Total Orders|Total Order Value|
|DM1 |Daily Mail 1 |100 |1,000 |300 |3,000 |100 |1,000 |500 |5,000 |
我希望我已经充分解释了我的问题。
答案 0 :(得分:0)
在代码中使用 group_concat(类型) 作为类型。 (如果它是错误的。请解释清楚)
答案 1 :(得分:0)
我希望这会留下我的标题(当我把它们放入表格时)的来源,描述,网页订单,网页订单价值,电话订单,电话订单价值,邮政订单,邮政订单价值,总订单,总计订单价值。
如果我理解正确,您想在结果中添加标题?这应该通过以下方式完成:
SELECT column_name(s) FROM table_name AS alias_name;