我正试图找出一种方法,通过合并类似的条目来减小表格大小增长到惊人的大小。我已经得到了一个工作'Group By'查询,它根据我的意愿汇总数据,我只是不确定如何删除现有条目并根据该select语句插入新条目。我想最直接的方法是运行select,将这些结果保存到内存中,删除表条目,然后插入合并的条目。但这似乎效率低下并会使用大量内存,希望可能有一种方法可以执行一些sql魔法并立即实现。
这是我的'Group By'选择:
foreach ($slices->products as $slice) {
$ID = $slice->ID;
echo $ID;
}
谢谢!
如果其他人碰到这样的事情,这个功能在非常高效的情况下完成整合:
select SUM(user_in),
SUM(user_out),
SUM(user_total),
name,
device_type,
device_os,
ownership,
host_name
FROM user_usage
GROUP BY name,
device_type,
device_os,
ownership,
host_name;
答案 0 :(得分:1)
可能的解决方案是使用另一个聚合表(例如:user_usage_aggregated)。 定期运行查询并将输出写入聚合表。然后从user_usage中删除原始数据。
如果您想要总结数据,则需要更新聚合表而不是插入数据。