¿Cómo creo un gráfico circular que muestre la cantidad de algo registrado por cada persona?

En mi proyecto, quiero mostrar en el gráfico circular el número de instituciones que cada empleado registró en el sistema. La tabla de instituciones contiene una clave foránea con el ID del empleado que registró la institución, por lo que cada institución tiene un empleado asociado.

Construí el siguiente código, pero no pude ir más lejos:

//etc

    String query = "SELECT i.ins_id, f.fun_nome FROM instituicao i " +
                "JOIN funcionario f " +
                "ON(f.fun_id = i.ins_fun_id)";

        PreparedStatement stmt = ConexaoDAO.con.prepareStatement(query,
                ResultSet.TYPE_SCROLL_INSENSITIVE,
                ResultSet.CONCUR_READ_ONLY);

    ResultSet rs = stmt.executeQuery();

    while(rs.next()) {
        total = rs.getInt(1);
    }

    DefaultPieDataset pieDataset = new DefaultPieDataset();

    for(VFuncionarioVO vo : lista) {
        //pieDataset.setValue(vo.getNome(), );
    }

//etc

Intenté usar GROUP BY en la consulta, pero eso no resolvió el problema.

EDITAR: en realidad, usar la instrucción GROUP BY es necesario para este trabajo. Por favor lea la respuesta aceptada y sus comentarios.

Respuestas a la pregunta(1)

Su respuesta a la pregunta