我需要从结果集中获取最小计数、最大计数和总结果集计数。执行查询后,它会产生多行,我需要从中提取数据。 例如查询:
SELECT count(*) AS `countTotal`,`admission_no`,`course` FROM `attendance` WHERE `course` = '15' AND `timestamp` AND `admission_no` !='0' AND `timestamp` BETWEEN '2016-04-01 00:00:00.0' AND '2017-03-31 00:00:00.0' GROUP BY `admission_no` ORDER BY `countTotal` DESC
输出
countTotal admission_no course
4 2304 15
4 2442 15
3 2777 15
2 2967 15
2 3288 15
我试过这个:
if (overallTotalClassRow.next()) {
maxclassaverage = overallTotalClassRow.getInt(1);
}
但这会给出最大值。即 4.
我需要得到 4 和 2 作为最大值和最小值,总计数为 5。我该怎么做......任何帮助将不胜感激。
最佳答案
试试这个。
select min(countTotal) as MinCount ,max(countTotal) as MaxCount,
count(*) as totalCount from
(SELECT count(*) AS `countTotal`,`admission_no`,`course`
FROM `attendance` WHERE `course` = '15' AND `timestamp`
AND `admission_no` !='0' AND `timestamp`
BETWEEN '2016-04-01 00:00:00.0' AND '2017-03-31 00:00:00.0'
GROUP BY `admission_no`
)a
然后使用
关于java - 如何从结果集中获取最小计数、最大计数和总结果集计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41297603/