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    

我需要一个用户 ID 的平均值,即 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
SELECT userid, SUM(total)/count(distinct semid) FROM custom WHERE userid=36   

试试这个查询

于 2012-08-08T08:05:40.323 回答
0

AVG()用于查找 Average 的 MYSQL 聚合函数。@John Totet Woo 已经发布了答案。

于 2012-08-08T08:27:12.683 回答