例如表staff:
name,job
张五,程序员
张三,工程师
李四,工程师
李六,程序员
赵三,经理
张八,程序员
现在希望按职位分组,并且按组员数倒序排列输出每条记录, 即:
张五,程序员
李六,程序员
张八,程序员
张三,工程师
李四,工程师
赵三,经理
我仔细阅读了相关文档,没有找到合适的方法.诸如:
staff.objects.values('job').annotate(Count('job'))
这个是不行的,它并不是逐条按记录输出,而是输出一个字典对象.
直接staff.objects.order_by('job')也是不一定能成功的, 因为它无法保证按组员数倒序排列. 它有可能是这样输出:
张三,工程师
李四,工程师
张五,程序员
李六,程序员
张八,程序员
赵三,经理
有何办法吗? 实在不行用SQL命令也可以, 但我SQL命令也没有找到解决办法.
补充:
希望在数据库层面解决这个问题. 我目前的解法办法是读到内存里面交给python做,但表大了就占内存了.