通过匹配一列中的值进行排序

时间:2016-08-24 17:23:02

标签: mysql

我有一个问题,我正在跑步,这几乎是我想要的......

以下是我在运行时获得的内容:

user = authenticate(username=str(request.user.username).upper(), password=request.user.password) 

其中一些值超过100%的原因是因为它们在不同的SR下重复任务并且它们在COUNT中计算它们。

我在查询中寻找的是通过唯一的SR来COUNT任务....这样他们就永远不会超过100%。我希望这是有道理的。

1 个答案:

答案 0 :(得分:0)

你应该对所有不在聚合函数中的列使用group by

 select users.username as spoc, iata.code as site, 
    completed.request as SR, truncate(count(tasks.task) *100/24/1,2) as percentage 
from completed 
join users on users.id = completed.name 
join tasks on tasks.id = completed.task 
join iata on iata.id = completed.code 
group by  users.username, iata.code, completed.request
order by users.username;