cat_id
とに基づいて、すべてのユーザーの平均応答時間を計算したい別のテーブルに格納されているこのテーブルを持っています。MySQLの他の平均の平均を計算する
ユーザーの国に基づいて平均時間を見つける適切な方法は何ですか?
+---------+--------+-------+-------+-------+-------+-------+-------+-------+
| user_id | cat_id | time1 | time2 | time3 | time4 | time5 | time6 | time7 |
+---------+--------+-------+-------+-------+-------+-------+-------+-------+
| 11 | 1 | 10000 | 3500 | 10000 | 10000 | 7000 | 6000 | 6500 |
| 0 | 1 | 6139 | 2640 | 5438 | 8136 | 7157 | 8723 | 4677 |
| 11 | 3 | 7500 | 5500 | 10000 | 5500 | 7500 | 4000 | 9500 |
| 0 | 3 | 7462 | 8907 | 7513 | 4181 | 7275 | 2074 | 4444 |
| 1 | 1 | 8500 | 2000 | 8500 | 1500 | 10000 | 6500 | 10000 |
| 0 | 1 | 8885 | 7240 | 2153 | 6115 | 6330 | 6151 | 4325 |
| 1 | 1 | 10000 | 3000 | 10000 | 5500 | 10000 | 9000 | 10000 |
| 0 | 1 | 6188 | 3280 | 4725 | 5662 | 3344 | 8792 | 7560 |
| 1 | 4 | 4000 | 4500 | 10000 | 5000 | 3000 | 1500 | 2112 |
| 0 | 4 | 2750 | 4861 | 3413 | 4174 | 3080 | 3213 | 7932 |
+---------+--------+-------+-------+-------+-------+-------+-------+-------+
私は試しました:(AVG(time1 + time 2 + ... + time7)/7)
ですが、クロスチェックすると結果が正しくありません。任意の助けを事前に
感謝:)すべての
1.スキーマを正規化します。あなたが列挙された列の中にいるときはいつでも、アラーム音が鳴り始めるはずです。それはさておき、ここには国がないので、問題は解決できません。 – Strawberry
@Strawberry残念ながら、私はデータベース内の何かを変更することはできません。また、これは '' users''テーブルからのもので、 '' Join''を実行して '' country''を得ることができます。 + ---- + --------- + | id |国| + ---- + --------- + | 0 | TEEEST | | 1 | TEEEST | | 2 | TEEEST | | 3 | TEEEST | + ---- + --------- + – kappammi
この場合、次のようなビューを作成します: 'SELECT user_id、cat_id、1 time_no、time1 time FROM my_table UNION ALL SELECT user_id、cat_id、2、time2 FROM my_table ... etc.'そして、問題の次の部分にそのビューを使用してください。 – Strawberry