【发布时间】:2011-11-16 23:33:26
【问题描述】:
我有一个包含一些项目数据的表格。一列包含“完成百分比”。默认情况下,该值设置为 0。构造 mySQL 查询并编写代码以获得以下 3 个值的最佳方法是:
- 用户总数(每行 WHERE PROJECT = 5)
- 参与者(WHERE PROJECT = 5 AND completion != 0)
- 平均完成率(参与者百分比的平均值)
我认为我不能在一个查询中完成所有操作...
谢谢
【问题讨论】:
标签: mysql
我有一个包含一些项目数据的表格。一列包含“完成百分比”。默认情况下,该值设置为 0。构造 mySQL 查询并编写代码以获得以下 3 个值的最佳方法是:
我认为我不能在一个查询中完成所有操作...
谢谢
【问题讨论】:
标签: mysql
SELECT project_id,
COUNT(*) AS total_users,
COUNT(IF(completion != 0, rowID, NULL)) AS participants,
AVG(IF(completion != 0, completion, NULL)) AS average_completion_rate
FROM Projects
WHERE project_id = 5
GROUP BY project_id;
如果您将来运行表的SHOW CREATE TABLE 并将其包含在您的问题中,这将很有帮助。
重新评论:所以听起来你的桌子是这样的:
CREATE TABLE Projects (
rowID INT PRIMARY KEY,
project_id INT,
completion TINYINT
);
我已经编辑了上面建议的查询以匹配。
【讨论】: