Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie sumujące z wielokrotnymi wyborami po java 8

Idiomatyczne podejście wyglądałoby tutaj następująco (przy użyciu JDK 9 API):

try (Stream<Record5<UUID, UUID, String, Integer, String>> stream = valuesToQuery
        .stream()
        .map(this::getSelectQueryForValue)
        .reduce(Select::union)
        .stream() // JDK 9 method
        .flatMap(Select::fetchStream)) {
    ...
}

Używa przydatnego Optional.stream() metoda, która została dodana w JDK 9. W JDK 8 możesz zamiast tego zrobić:

valuesToQuery
    .stream()
    .map(this::getSelectQueryForValue)
    .reduce(Select::union)
    .ifPresent(s -> {
        try (Stream<Record5<UUID, UUID, String, Integer, String>> stream = 
             s.fetchStream()) {
            ...
        }
    })

Blogowałem o tym bardziej szczegółowo tutaj.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak liczyć unikalnych użytkowników mojej witryny?

  2. Jak zamawiać wyniki MySQL VARCHAR

  3. MySQL - SUMA grupy różnic czasowych

  4. błąd podczas używania mysql_real_escape_string()

  5. PHP i MySQL z Highchart