私は多くのボード ゲームをプレイし、いくつかの統計を追跡するサイト/データベースを維持しています。テーブルの 1 つは、さまざまな時間を追跡します。その構造は次のようになります。
- gameName (テキスト - ボードゲームの名前)
- numPeople (int - プレイした人数)
- timeArrived (タイムスタンプ - ゲームをプレイしている家に到着した時刻)
- beginSetup (タイムスタンプ - ゲームのセットアップを開始する時刻)
- startPlay (timestamp - 実際にゲームを開始した時刻)
- gameEnd (タイムスタンプ - ゲーム終了時刻)
基本的に、私がやりたいことは、これらの時間を使用して、興味深い/有用な情報を取得することです (セットアップに平均で最も時間がかかるゲームはどれか、プレイするのに平均で最も時間がかかるゲームはどれか、どのゲームから最も時間がかかるかなど)通常、私は PHP に頼りすぎており、select * ... を実行してすべての時間を取得し、PHP の計算を行ってすべての統計情報を見つけますが、MySQL ができることを知っていますクエリを使用してこれらすべてを実行してください。残念ながら、より複雑なクエリになるとかなり迷ってしまうので、助けてほしいです。
いくつかのクエリの例が欲しいのですが、誰かが私を始めたら、他の平均時間クエリを見つけられることを願っています. 平均してボード ゲームをプレイする時間が最も長いクエリはどのようになりますか? 平均して最速のゲーム/セットアップ時間はどうですか?
追加情報: draw010 - 素晴らしいスタートを切ることができましたが、期待した結果が得られません。いくつかの実際の例を示しました... 私は Harper というゲームを持っていて、それを 2 回プレイしました (したがって、データベースには 2 つの記録があり、時間全体が記録されています)。時間は次のようになります。
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.
数値から、平均合計時間は 3 時間 34 分ではなく、約 1 時間 24 分になるはずです。間違った数字が表示される理由は何ですか?