sql >> Base de Datos >  >> RDS >> Mysql

Consulta ejecutada dos veces (por error) en Java con valores no deseados

Buscar anomalías en los datos es arduo, pero JFreeChart puede al menos hacer que el resultado sea más fácil de visualizar. Algunas heurísticas para probar:

  • Para verificar que los presuntos duplicados en su lista tabular son realmente duplicados, formatee las marcas de tiempo para incluir milisegundos, p. añade una S a un SimpleDateFormat o A a un DateTimeFormatter .

  • Para estudio, pase temporalmente la consulta directamente a JDBCXYDataset y agrega un ORDER BY cláusula (no probada):

    jds.executeQuery(
          "SELECT Date_Heure, PV, SV FROM cmd3 "
        + "WHERE Date_Heure BETWEEN "
        + "2020-06-25 00:00:00 AND 2020-06-26 00:00:00 "
        + "ORDER BY Date_Heure");
    
  • Habilite la información sobre herramientas en su ChartFactory , como hiciste aquí , para ver valores de datos in situ . Esto puede sugerir condiciones adicionales para su WHERE cláusula, por ej. PV BETWEEN 5.1 AND 5.9 .

  • Utilice el JFreeChart interactivo controles de panorámica/zoom, discutidos aquí examinar los datos; agregue botones adecuados, que se muestran aquí , si eso facilitará que sus colegas vean sus hallazgos.

  • Por diseño, JDBCXYDataset ejecuta una consulta definida por un String . Si su diseño necesita mostrar datos de una consulta definida por un PreparedStatement , puede usar el implementación como guía.

    public class PreparedDataset extends AbstractXYDataset
        implements XYDataset, TableXYDataset, RangeInfo {
    
        private final PreparedStatement ps;
    
        public PreparedDataset(PreparedStatement ps) {
            this.ps = ps;
        }
        …
    }