我玩了很多棋盘游戏,并且我维护着一个跟踪几个统计数据的站点/数据库.其中一个表记录了不同的时间.它的结构如下:
> gameName(文本 – 棋盘游戏的名称)
> numPeople(int – 播放的人数)
> timeArrived(时间戳 – 我们到达正在玩游戏的房子的时间)
> beginSetup(时间戳 – 我们开始设置游戏的时间)
> startPlay(时间戳 – 我们实际开始玩游戏的时间)
> gameEnd(时间戳 – 游戏结束的时间)
基本上,我想要做的是利用这些时间来获取一些有趣/有用的信息(比如平均花费最长的游戏设置,平均花费的游戏时间最长,游戏最长的是什么到达完成等等…)通常情况下,我过分依赖PHP而且我只会做一个select * …并且一直抓住然后做一些PHP计算来查找所有的统计数据但我知道MySQL可以通过查询为我做所有这些.不幸的是,当谈到更复杂的查询时,我很失落,所以我想要一些帮助.
我想要几个查询的一些例子,希望一旦有人让我开始,我可以找出其他平均时间查询.对于玩棋盘游戏,平均查询时间最长的是什么?平均设置最快的游戏/时间怎么样?
附加信息:
drew010 – 你让我有一个良好的开端,但我没有得到我预期的结果.我给你一些真实的例子……
我有一个名为Harper的游戏,它已被播放两次(因此数据库中有两个记录有时间).以下是它的时代:
beginSetup(1) = 2012-07-25 12:06:03
startPlay(1) = 2012-07-25 12:47:14
gameEnd(1) = 2012-07-25 13:29:45
beginSetup(2) = 2012-08-01 12:06:30
startPlay(2) = 2012-08-01 12:55:00
gameEnd(2) = 2012-08-01 13:40:32
然后我运行你提供给我的查询(并将秒转换为小时/分钟/秒)我得到了这些结果(对不起,我不知道如何做你所做的酷表):
gameName = Harper
Total Time = 03:34:32
...and other incorrect numbers.
从数字来看,平均总时间应该是大约1小时24分钟 – 而不是3小时34分钟.知道为什么我的数字不正确吗?