0

私は次のようなテーブルを持っています

id     userid  semid  courseid  coursename  total
1       36      17       13       CA         23
2       36      17       5        CB         46        
3       36      17       8        CC         20
4       36      19       16       CD         34
5       36      19       13       CA         31
6       36      19       3        CA#        29
7       36      19       7        CE         60
8       36      10       9        CK         32
9       36      10       15       CH         56    

userid の semid の平均値、つまり SUM(courseid) /count (moduleid) が必要です。モジュール数として 9 と表示されていましたが、3 つのモジュールしかありません。これは私のクエリです

SELECT userid, SUM(total)/count(semid) FROM custom WHERE userid=36  
4

3 に答える 3

2

AVG( )関数を使うだけ

SELECT   userid, semid, AVG(total)
FROM     custom
WHERE    userid = 36
GROUP BY userid, semid

SQLFiddle デモ

于 2012-08-08T08:02:21.007 に答える
0

AVG()Average を見つけるためのMYSQL 集計関数があります。@John Totet Woo が回答を投稿しました。

于 2012-08-08T08:27:12.683 に答える
0
SELECT userid, SUM(total)/count(distinct semid) FROM custom WHERE userid=36   

このクエリを試してください

于 2012-08-08T08:05:40.323 に答える