Remover dados duplicados do MySQL

Galera, sou novo aqui no fórum, fiz uma matéria esse semestre de introdução ao JAVA e como estou de bobeira aqui em casa resolvi brincar um pouco.
Começei a dois dias um programa aqui que calcula as notas pra minha faculdade, eu até que fiz alguma coisa pra quem não sabia nem como instalava o MySQL três dias atrás, mas eu estou travado aqui numa parte onde eu tenho um tabela no bando de dados, e ela possui resultados repetidos, e eu preciso excluir os resultados deixando somente os que foram adicionados mais recentemente, para isso eu fiz um contador no meu código pra saber (não consegui usar a função smalldatetime que eu vi por ai - não entra na minha cabeça), tá ai a parte que lê minha tabela (nada demais):

[code] public void adicionahistorico(String[] materias, int[] conceito, int[] creditos) throws SQLException {
for (int i = 0; i < creditos.length; i++) {
String sql = “insert into historico (creditos, materias, conceito, contador)”
+ “values (?,?,?,?)”;
PreparedStatement stmt = conexao.prepareStatement(sql);
stmt.setInt(1, creditos[i]);
stmt.setString(2, materias[i]);
stmt.setInt(3, conceito[i]);
stmt.setInt(4, i);
stmt.execute();
stmt.close();

    }

[/code]

Agora eu não sei qual statement eu tenho que passar pra conseguir remover as entradas repetidas. O que eu fiz foi assim:

public void cria_ca() throws SQLException { remove_ca(); String sql = "create table ca select materias, creditos, max(conceito), max(contador) from historico group by materias"; PreparedStatement stmt = this.conexao.prepareStatement(sql); stmt.execute(); stmt.close(); leitura_ca(); }

Apesar de conseguir visualizar a tabela do jeito que eu quero, por algum motivo que eu não sei eu não consigo acessar os dados que preciso dela:

public void leitura_ca () throws SQLException { String sql = "select * from ca"; PreparedStatement stmt = this.conexao.prepareStatement(sql); ResultSet rs = stmt.executeQuery(); while (rs.next()) { int creditos = Integer.parseInt(rs.getString("creditos")); int conceito = Integer.parseInt(rs.getString("max(conceito)")); int multiplicacao = creditos * conceito; System.out.println(multiplicacao); } rs.close(); stmt.close(); } }

O erro que dá é este:

12/04/2013 19:26:13 ufabc.forms.visual startActionPerformed SEVERE: null java.sql.SQLException: Column 'max(conceito)' not found.
Deve ser uma coisa muito idiota, mas eu estou desde as 8 da manhã varrendo o google e tentando de tudo no terminal do linux e não consigo de jeito nenhum.
Agradeço desde já pela ajuda!

Usa alias.

[code]"…max(conceito) as max_conceito, max(contador) as max_contador …"

(…)

int conceito = Integer.parseInt(rs.getString(“max_conceito”));
[/code]