我使用以下SQL根据日期范围返回几个总和:
SELECT SUM(CASE WHEN omtr_date >= '2013-01-08 00:00:00' THEN omtr_page_view END) AS omtr_page_view,
SUM(CASE WHEN omtr_date >= '2013-01-02 00:00:00' THEN omtr_page_view END) AS omtr_page_view
FROM emb_visits;
但它返回2行;使用mysqli_fetch_array
(php)它给了我2个数组,而不是1个数组,其中包含2个值。
是否可以将这2个结果分组为1行/数组?
答案 0 :(得分:1)
我可能会更改查询,因此您要返回的每个列值都有不同的名称:
SELECT
SUM(CASE WHEN omtr_date >= '2013-01-08 00:00:00' THEN omtr_page_view END) AS omtr_page_view_jan08,
SUM(CASE WHEN omtr_date >= '2013-01-02 00:00:00' THEN omtr_page_view END) AS omtr_page_view_jan02
FROM emb_visits;
通过为每列提供不同的别名,将不会混淆值是什么
答案 1 :(得分:0)
您是否尝试使用其他表格进行类似查询?我已经用我的一个数据库的一些表做了一个小例子,它给了我一行2列的结果。
以下是您可以在此期间使用的类似查询。我保证在找到您的查询解决方案后编辑我的答案。
SELECT
(SELECT SUM(omtr_page_view) FROM emb_visits WHERE omtr_date >= '2013-01-08 00:00:00'),
(SELECT SUM(omtr_page_view) FROM emb_visits WHERE omtr_date >= '2013-01-02 00:00:00')