javascript - MYSQL Count As, Group By, JSON 等效

标签 javascript jquery mysql json

是否有任何等价物

mysql_query("SELECT subcategory, COUNT(*) AS subcate FROM database GROUP BY subcategory");

在 Js-Json 中,我可以计算出有多少个独特的子类别并将它们打印在 JSON 数组中,而无需在 mysql_query 中过滤它们?

假设我从数据库中获取了完整的表格

mysql_query("SELECT * FROM database");

然后我将其放入 json_encode($array); 中,然后我可以计算唯一的子类别并从该 JSON 数组打印它们吗?

JSON 数据

[{"category":"fish","subcategory":"angel","name":"angelfish juvenille"},{"category":"fish","subcategory":"angel","name":"angelfish adult"},{"category":"fish","subcategory":"clownfish","name":"clownfish juvenille"},{"category":"fish","subcategory":"clownfish","name":"clownfish adult"]

最佳答案

您需要对数据列表进行简单的归约。您为每个子类别保留一个带有键的对象,该值是具有该特定子类别的元素的数量:

 var data = [{"category":"fish","subcategory":"angel","name":"angelfish juvenille"},{"category":"fish","subcategory":"angel","name":"angelfish adult"},{"category":"fish","subcategory":"clownfish","name":"clownfish juvenille"},{"category":"fish","subcategory":"clownfish","name":"clownfish adult"}]

var result=  data.reduce((all, element) => { 
   all[element.subcategory] = (all[element.subcategory] || 0) +1;
   return all
}, {});

console.log(result);

关于javascript - MYSQL Count As, Group By, JSON 等效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48057960/

相关文章:

javascript - node.js 多房间聊天示例

javascript - DataTables初始化后如何更改数据?

javascript - 过渡时间不一样

java - 尝试(但失败)为 H2 数据库创建用户函数

java - 在 JPA 中获取多对一关联时出现问题

php - 为什么这个 MySQL INSERT INTO 运行了两次?

javascript - Angular 组件不会显示

javascript - 终极版 + Apollo : How to normalize and format response data?

asp.net - 如何以编程方式确定是否已安装 ActiveX 控件,以及它或整个 ActiveX 是否已被禁用?

javascript - Ajax 页面内容;先前单击的链接在点击后退按钮后第二次的行为不一样