我正要问这个MySql列表并记住了SO。通过条件和精度从MySql获得一个百分比
运行MySql 5.0.85,我需要尽可能高效地进行一些查询。如果我能得到一些评论,我将不胜感激。
我以百万计收集数据,需要按一个字段分组的前50名,占前50名的百分比。
这是我想出来的...... 1)我有一种感觉,我可以更有效率,也许加入 2)我怎样才能百分之一百分之百的精度百分比,所以* 100.00 即:0.07变为7.00,得到SQL错误,如果我(百分比* 100)
SELECT user_agent_parsed, user_agent_original, COUNT(user_agent_parsed) AS thecount,
COUNT(*)/(SELECT COUNT(*) FROM agents) AS percentage
FROM agents
GROUP BY user_agent_parsed
ORDER BY thecount DESC LIMIT 50;
第二期,每日一次,我需要存档上述的结果。有关如何最好地做到这一点的任何建议?我可以安排cron,或者在我的情况下,启动,除非有人有更好的建议。
你觉得简单的'SELECT(上面)INTO foo'就足够了吗?
第二期:不,你需要时间/档案中的日期? – lexu 2009-10-16 06:55:14
对不起,是的,我有一个添加和更新的时间戳,只是没有在示例中显示它。我将携带一个唯一的ID以及 – user170579 2009-10-16 07:30:51