Создание новой таблицы с использованием Java/SQL На основе значений

Вопрос:

Я использую 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);

Оцените статью
TechArks.Ru
Добавить комментарий