У меня есть следующий метод в моем приложении Spring. В настоящее время он возвращает строку, которая состоит из даты (как видно) и количества повторений даты (как общее). Моя цель - создать строку в формате CSV следующего формата: «Date, Average Sightsings \ n», которую я позже опубликую в файл CSV.
public String getAverageSightingsPerDay() {
return jdbcTemplate.queryForObject("SELECT DATE(sightedAt) AS sighted, COUNT(*)/2 AS total"
+ "FROM sightings GROUP BY DATE(sightedAt)",
String.class);
«Дата» останется «как есть» после извлечения из таблицы MySql, но AverageSightsings рассчитывается путем деления «итого», которое равно «сколько раз Дата повторяется в таблице» by getTotalTeams (), который является результатом, возвращаемым другим методом:
public int getTotalTeams() {
return jdbcTemplate.queryForObject("SELECT COUNT(*) AS total FROM teams", Integer.class);
}
А вот команда, которая создала таблицу, из которой мы извлекаем значения:
jdbcTemplate.execute("CREATE TABLE sightings(\r\n" +
" serial INT,\r\n" +
" serial_spotted INT,\r\n" +
" spottedAt TIMESTAMP,\r\n" +
" FOREIGN KEY (serial) REFERENCES teams(serial),\r\n" +
" FEREIGN KEY (serial_spotted) REEFRENCES teams(serial)");
}