Относительно Java 1.5 и автоупаковка существует важная "причуда", которая прибывает для игры при сравнении Целочисленных объектов.
В Java, Целочисленные объекты со значениями-128 к 127 неизменны (то есть, для одного конкретного целочисленного значения, скажите 23, все Целочисленные объекты, которые инстанцируют через Вашу программу со значением 23 точки к точный тот же объект).
Пример, это возвращает true:
Integer i1 = new Integer(127);
Integer i2 = new Integer(127);
System.out.println(i1 == i2); // true
, В то время как это возвращает false:
Integer i1 = new Integer(128);
Integer i2 = new Integer(128);
System.out.println(i1 == i2); // false
== выдерживает сравнение ссылкой (делает точку переменных к тому же объекту).
Этот результат может или не может отличаться, в зависимости от какой JVM Вы используете. Автоупаковка спецификации для Java 1.5 требует что целые числа (-128 к 127) всегда поле к тому же интерфейсному объекту.
решение для А? =), нужно всегда использовать Integer.equals () метод при сравнении Целочисленных объектов.
System.out.println(i1.equals(i2)); // true
[еще 1114] информация в java.net Пример в bexhuff.com
Просто используйте min()
SELECT company, workflow, MIN(date)
FROM workflowTable
GROUP BY company, workflow