首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为某些索引迭代并从JSON获取唯一值

为某些索引迭代并从JSON获取唯一值
EN

Stack Overflow用户
提问于 2017-01-04 23:35:53
回答 0查看 54关注 0票数 1

我使用如下查询从PHP中获取数据:

SELECT objective,signal_type,signal_name FROM signals WHERE channel="Email"

数据是这样返回的:

代码语言:javascript
复制
[
    {
        "objective": "Awareness",
        "signal_type": "Efficiency",
        "signal_name": "CPM"
    },
    {
        "objective": "Awareness",
        "signal_type": "Quality",
        "signal_name": "Click-thru Rate"
    },
    {
        "objective": "Awareness",
        "signal_type": "Quality",
        "signal_name": "Frequency"
    },
    {
        "objective": "Awareness",
        "signal_type": "Quality",
        "signal_name": "Interaction Rate"
    },
    {
        "objective": "Awareness",
        "signal_type": "Quality",
        "signal_name": "Viewability"
    },
    {
        "objective": "Awareness",
        "signal_type": "Volume",
        "signal_name": "Display Time"
    },
    {
        "objective": "Awareness",
        "signal_type": "Volume",
        "signal_name": "Impression"
    },
    {
        "objective": "Awareness",
        "signal_type": "Volume",
        "signal_name": "Reach"
    },
    {
        "objective": "Conversion",
        "signal_type": "Efficiency",
        "signal_name": "Cost per Action"
    },
    {
        "objective": "Conversion",
        "signal_type": "Efficiency",
        "signal_name": "ROI/ROAS"
    },
    {
        "objective": "Conversion",
        "signal_type": "Quality",
        "signal_name": "Avg Order Value"
    },
    {
        "objective": "Conversion",
        "signal_type": "Volume",
        "signal_name": "Conversion"
    },
    {
        "objective": "Conversion",
        "signal_type": "Volume",
        "signal_name": "Revenue"
    },
    {
        "objective": "Engagement",
        "signal_type": "Efficiency",
        "signal_name": "Cost per Click"
    },
    {
        "objective": "Engagement",
        "signal_type": "Quality",
        "signal_name": "Avg Interaction Time"
    },
    {
        "objective": "Engagement",
        "signal_type": "Quality",
        "signal_name": "Conversion Rate"
    },
    {
        "objective": "Engagement",
        "signal_type": "Volume",
        "signal_name": "Click"
    },
    {
        "objective": "Engagement",
        "signal_type": "Volume",
        "signal_name": "Interaction"
    },
    {
        "objective": "Engagement",
        "signal_type": "Volume",
        "signal_name": "Interaction Time"
    }
]

我可以将这一切附加到一个表中,如下所示:

代码语言:javascript
复制
$.each(data, function(index, key) {
 $('#myTable').append('<tr><td>'+key.objective+'</td><td>'+key.signal_type+'</td><td>'+key.signal_name+'</td></tr>');
                });

这会产生一个非常准确的表格,但不是一个美观的表格。我得到的东西是这样的:

代码语言:javascript
复制
| Signal Type | Signal Types | Available Signals    |
|-------------|--------------|----------------------|
| Awareness   | Efficiency   | CPM                  |
| Awareness   | Quality      | Click-thru Rate      |
| Awareness   | Quality      | Frequency            |
| Awareness   | Quality      | Interaction Rate     |
| Awareness   | Quality      | Viewability          |
| Awareness   | Volume       | Display Time         |
| Awareness   | Volume       | Impression           |
| Awareness   | Volume       | Reach                |
| Conversion  | Efficiency   | Cost per Action      |
| Conversion  | Efficiency   | ROI/ROAS             |
| Conversion  | Quality      | Avg Order Value      |
| Conversion  | Volume       | Conversion           |
| Conversion  | Volume       | Revenue              |
| Engagement  | Efficiency   | Cost per Click       |
| Engagement  | Quality      | Avg Interaction Time |
| Engagement  | Quality      | Conversion Rate      |
| Engagement  | Volume       | Click                |
| Engagement  | Volume       | Interaction          |
| Engagement  | Volume       | Interaction Time     |

(请注意,标题在我的HTML中是“硬编码”的)

我理想中想要的是这样的东西:

代码语言:javascript
复制
| Signal Type | Signal Types | Available Signals    |
|-------------|--------------|----------------------|
| Awareness   | Efficiency   | CPM                  |
|             | Quality      | Click-thru Rate      |
|             |              | Frequency            |
|             |              | Interaction Rate     |
|             |              | Viewability          |
|             | Volume       | Display Time         |
|             |              | Impression           |
|             |              | Reach                |
| Conversion  | Efficiency   | Cost per Action      |
|             |              | ROI/ROAS             |
|             | Quality      | Avg Order Value      |
|             | Volume       | Conversion           |
|             |              | Revenue              |
| Engagement  | Efficiency   | Cost per Click       |
|             | Quality      | Avg Interaction Time |
|             |              | Conversion Rate      |
|             | Volume       | Click                |
|             |              | Interaction          |
|             |              | Interaction Time     |

这里的区别在于,根据之前的列,列中有不同的值。你对如何得到这个输出有什么想法吗?请注意,我可以根据效率最高的选项来调整我的SQL查询或javascript/jquery (或两者)。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41467608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档