суммировать и объединять все запросы, используя mysql и java

0

У меня есть таблица со следующими полями Service_type и consumer_feedback.for например:

Service_ID  consumer_feedback
31           1
32           -1
33            1
31            1
32            1.

Я хочу найти сумму consumer_feedback для каждого Service_ID через java-код

ResultSet res = st.executeQuery("SELECT SUM(consumer_feedback) 
                                   FROM  consumer1 
                                  where Service_ID=31 
                                 union  
                                 SELECT SUM(consumer_feedback)  
                                   FROM consumer1 
                                  where Service_ID=32 
                                 union  
                                 SELECT SUM(consumer_feedback)  
                                   FROM consumer1 
                                 where Service_ID=33") ;
    while (res.next()) {
      int c1 = res.getInt(1);           
      sum1 = sum1 + c1;        
    }

    System.out.println("Sum of column "   +sum1);

    while (res.next()) {
      int c2 = res.getInt(1);           
      sum2 = sum2 + c2;                  
    }

    System.out.println("Sum of column "   +sum2);

    while (res.next()) {
      int c3 = res.getInt(1);
      sum3 = sum3 + c3;
    }

    System.out.println("Sum of column "   +sum3);
}

Но этот код работает для 2 Service_ID, а не для трех Service_ID's.Пожалуйста, помогите мне

  • 1
    Правильно отформатируйте код, если вам нужна помощь
Теги:

1 ответ

1

Ваш запрос должен быть

select service_id,sum(consumer_feedback) from consumer1 group by service_id

Это избавит вас от необходимости делать союзы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню