Я использую Java в сочетании с SQL, а также Oracle Database для извлечения содержимого из электронной таблицы, которую я загрузил. Если у меня есть столбец с именем каждого ученика, и у меня есть столбец со средним значением, и я хотел бы получить среднее значение для всего класса, например, тогда проверьте, превышает ли средний средний показатель ученика средний класс и помещает эти студенты, которые соответствуют этим стандартам на отдельной таблице, как бы я это сделал? У меня есть идея, но я не уверен, правильно это или нет. Поправьте меня если я ошибаюсь.
//Select student averages so I can get each student individual score
resultset = st.executeQuery("SELECT Student_Averages FROM table");
//Get the class average
stavg = "SELECT Avg(Student_Averages)) AS classAverage FROM table";
rs = st.executeQuery(stavg);
//Iterate through their individual scores and store them in a float variable to
//compare them later.
while(resultset.next()){
float studentaverage = resultset.getFloat("Student_Averages");
}
//Store the class average in a float variable
float classaverage = stavg.getFloat("Student_Averages");
//Compare the individual student average to the class average
if(studentaverage >= classaverage){
//Generate new table with student names
}
Я новичок в работе с базами данных. Я не уверен, как создать новую таблицу с именами тех студентов, которые отвечают требованиям. Буду признателен за любую помощь!
Сначала переместите это отклонение за пределы цикла
while(resultset.next()){
float studentaverage = resultset.getFloat("Student_Averages");
}
Во-вторых,
stavg = "SELECT Avg(Student_Averages)) AS classAverage FROM table";
Вы должны изменить
float classaverage = stavg.getFloat("Student_Averages");
к
float classaverage = stavg.getFloat("classAverage");
Наконец, на ваш вопрос: используйте это, чтобы создать таблицу
st.executeUpdate("CREATE TABLE IF NOT EXISTS tableName (id INT , studentName VARCHAR(SIZE))");
Затем используйте это, чтобы вставить данные в таблицу
String insert = String.format("INSERT INTO tableName("id","studentName") VALUES ('%s','%s)" , idOfStudent someStudentName);
st.execute(intsert);