所以我不记得如何准确地显示所有包含MAX/MIN ppl的组。假设有一个表,其中包含Id、name、role(employee,employer)、groupName(a1,b2,c3...)列,我需要列出每个组中雇员的MAX/MIN数量。
SELECT `groupName`, COUNT(*)
FROM Table1
WHERE ROLE = 'employee'
GROUP BY `groupName`
ORDER BY COUNT(*) DESC;
我需要找到每个组中的最大/最小员工数,并且有很多组。但我想我真正想知道的是,您如何只选择最大计数和最小计数。假设在组1a中有200名员工,而在2b,3c中只有一名员工。当然还有其他组,但它们介于两者之间,我需要在我的报告中只选择最大和最小。
2条答案
按热度按时间i34xakig1#
如果要每个组的计数,可以执行以下操作:
MIN/MAX只有在实际查找数值列(或日期等)的最小值和最大值时才有意义。如果您想计算每个组的员工数,可以使用
COUNT
。如果您需要显示所有组中计数最大(或最小)的组,这是一个稍微不同的问题。
mxg2im7a2#
如果你真的想找到每个组的最大员工数,那么这个问题就没有意义了,因为每个组都有一个单一的员工数(例如,group 1有6名员工,group 2有3名员工,等等)。所以,在这个答案中,我假设你想要每个组的最小员工数和最大员工数。
如果你想得到每个组中的最小/最大员工人数,那么你可以通过下面的方法来实现: