所以我有一个计算服务器的数量与以小时为单位给出的使用水平,因为这样的MySQL数据库:在24小时内查找最大值
Date Status Population
2012-01-13 15:33:40 UP Standard
2012-01-13 15:33:40 UP Light
2012-01-13 15:33:40 UP Heavy
2012-01-13 15:33:40 UP Light
2012-01-13 16:33:40 UP Light
2012-01-13 16:33:40 UP Very Heavy
2012-01-13 16:33:40 UP Light
等
和一个查询,通过分组分给使用水平计算服务器的数量,正是如此
SELECT DATE, ROUND(UNIX_TIMESTAMP(DATE)/(1*60)) AS TIME, COUNT(IF(POPULATION = "Light", 1, NULL)) AS LightCount, COUNT(IF(POPULATION = "Standard", 1, NULL)) AS StandardCount, COUNT(IF(POPULATION = "Heavy", 1, NULL)) AS HeavyCount, COUNT(IF(POPULATION = "Very Heavy", 1, NULL)) AS VeryHeavyCount, COUNT(IF(POPULATION = "Full", 1, NULL)) AS FullCount, COUNT(IF(POPULATION = "Offline", 1, NULL)) AS OfflineCount
FROM `Servers`
GROUP BY TIME
ORDER BY DATE ASC
输出看起来像:
DATE TIME LightCount StandardCount
2012-01-13 15:33:40 22108174 16 146
2012-01-13 16:33:35 22108180 16 147
等,每小时运行计数。
我试图找到一种方法来确定每个24小时内“LightCount”或“StandardCount”等的最高数量。换句话说,LightCount在任何一天的最高小时数是多少?
这是可能的吗?它会需要某种嵌套查询吗?
非常感谢您的帮助。
你真棒。 –