Galera, eu criei uma tabela encomendas e um programa com um método de leitura. Executando a mesma operação de select em executeQuery() e no SQLyog (sim, eu sei, não é um programa bom) os resultados são diferentes. No executeQuery() o count() resulta em 3, enquanto no SQLyog é 6. Eis as operações abaixo:
SQLyog:
SELECT dataEntrega, COUNT(*) AS nEnc
FROM encomenda
WHERE status = 'Aberto' OR status = 'aberto'
GROUP BY dataEntrega
HAVING dataEntrega > '2012-11-06'
ORDER BY dataEntrega ASC;
executeQuery():
Date date = new Date();
PreparedStatement stat = connection.prepareStatement(
"SELECT dataEntrega, COUNT(numero) AS nEnc"
+ " FROM encomenda"
+ " WHERE status = ? OR status = ? "
+ " GROUP BY dataEntrega"
+ " HAVING dataEntrega > ?"
+ " ORDER BY dataEntrega ASC");
stat.setString(1, "Aberto");
stat.setString(2, "aberto");
stat.setDate(3, new java.sql.Date(date.getTime()));
ResultSet res = stat.executeQuery();