Try fix bug
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/ExtremeAccumulator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/ExtremeAccumulator.java
index db50a3c..cf811f9 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/ExtremeAccumulator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/ExtremeAccumulator.java
@@ -54,9 +54,11 @@
   public void addInput(Column[] arguments, AggregationMask mask) {
     switch (seriesDataType) {
       case INT32:
+      case DATE:
         addIntInput(arguments[0], mask);
         return;
       case INT64:
+      case TIMESTAMP:
         addLongInput(arguments[0], mask);
         return;
       case FLOAT:
@@ -69,8 +71,6 @@
       case STRING:
       case BLOB:
       case BOOLEAN:
-      case DATE:
-      case TIMESTAMP:
       default:
         throw new UnSupportedDataTypeException(
             String.format(UNSUPPORTED_DATA_TYPE, seriesDataType));
@@ -86,9 +86,11 @@
 
       switch (seriesDataType) {
         case INT32:
+        case DATE:
           updateIntResult(argument.getInt(i));
           break;
         case INT64:
+        case TIMESTAMP:
           updateLongResult(argument.getLong(i));
           break;
         case FLOAT:
@@ -101,8 +103,6 @@
         case STRING:
         case BLOB:
         case BOOLEAN:
-        case DATE:
-        case TIMESTAMP:
         default:
           throw new UnSupportedDataTypeException(
               String.format(UNSUPPORTED_DATA_TYPE, seriesDataType));
@@ -118,10 +118,12 @@
 
     switch (seriesDataType) {
       case INT32:
+      case DATE:
         updateIntResult((int) statistics[0].getMaxValue());
         updateIntResult((int) statistics[0].getMinValue());
         break;
       case INT64:
+      case TIMESTAMP:
         updateLongResult((long) statistics[0].getMaxValue());
         updateLongResult((long) statistics[0].getMinValue());
         break;
@@ -137,8 +139,6 @@
       case STRING:
       case BLOB:
       case BOOLEAN:
-      case DATE:
-      case TIMESTAMP:
       default:
         throw new UnSupportedDataTypeException(
             String.format(UNSUPPORTED_DATA_TYPE, seriesDataType));
@@ -154,9 +154,11 @@
 
     switch (seriesDataType) {
       case INT32:
+      case DATE:
         columnBuilder.writeInt(extremeResult.getInt());
         break;
       case INT64:
+      case TIMESTAMP:
         columnBuilder.writeLong(extremeResult.getLong());
         break;
       case FLOAT:
@@ -169,8 +171,6 @@
       case STRING:
       case BLOB:
       case BOOLEAN:
-      case DATE:
-      case TIMESTAMP:
       default:
         throw new UnSupportedDataTypeException(
             String.format(UNSUPPORTED_DATA_TYPE, seriesDataType));
@@ -186,9 +186,11 @@
 
     switch (seriesDataType) {
       case INT32:
+      case DATE:
         columnBuilder.writeInt(extremeResult.getInt());
         break;
       case INT64:
+      case TIMESTAMP:
         columnBuilder.writeLong(extremeResult.getLong());
         break;
       case FLOAT:
@@ -201,8 +203,6 @@
       case STRING:
       case BLOB:
       case BOOLEAN:
-      case DATE:
-      case TIMESTAMP:
       default:
         throw new UnSupportedDataTypeException(
             String.format(UNSUPPORTED_DATA_TYPE, seriesDataType));
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/FirstAccumulator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/FirstAccumulator.java
index 4bfc981..b01349e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/FirstAccumulator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/FirstAccumulator.java
@@ -210,10 +210,8 @@
         updateIntFirstValue((int) statistics[0].getFirstValue(), statistics[0].getStartTime());
         break;
       case INT64:
-        updateLongFirstValue((long) statistics[0].getFirstValue(), statistics[0].getStartTime());
-        break;
       case TIMESTAMP:
-        updateLongFirstValue(statistics[0].getStartTime(), statistics[0].getStartTime());
+        updateLongFirstValue((long) statistics[0].getFirstValue(), statistics[0].getStartTime());
         break;
       case FLOAT:
         updateFloatFirstValue((float) statistics[0].getFirstValue(), statistics[0].getStartTime());
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/FirstByAccumulator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/FirstByAccumulator.java
index 3691a13..63c87bc 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/FirstByAccumulator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/FirstByAccumulator.java
@@ -23,7 +23,6 @@
 import org.apache.tsfile.block.column.ColumnBuilder;
 import org.apache.tsfile.enums.TSDataType;
 import org.apache.tsfile.file.metadata.statistics.Statistics;
-import org.apache.tsfile.file.metadata.statistics.TimeStatistics;
 import org.apache.tsfile.read.common.block.column.BinaryColumn;
 import org.apache.tsfile.read.common.block.column.BinaryColumnBuilder;
 import org.apache.tsfile.read.common.block.column.RunLengthEncodedColumn;
@@ -254,11 +253,6 @@
           yFirstTime = yStatistics.getStartTime();
           xIsNull = false;
 
-          if (xStatistics instanceof TimeStatistics) {
-            xResult.setLong(xStatistics.getStartTime());
-            return;
-          }
-
           switch (xDataType) {
             case INT32:
             case DATE:
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/LastAccumulator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/LastAccumulator.java
index 2745ee1..14e652d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/LastAccumulator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/LastAccumulator.java
@@ -229,10 +229,8 @@
         updateIntLastValue((int) statistics[0].getLastValue(), statistics[0].getEndTime());
         break;
       case INT64:
-        updateLongLastValue((long) statistics[0].getLastValue(), statistics[0].getEndTime());
-        break;
       case TIMESTAMP:
-        updateLongLastValue(statistics[0].getEndTime(), statistics[0].getEndTime());
+        updateLongLastValue((long) statistics[0].getLastValue(), statistics[0].getEndTime());
         break;
       case FLOAT:
         updateFloatLastValue((float) statistics[0].getLastValue(), statistics[0].getEndTime());
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/LastByAccumulator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/LastByAccumulator.java
index 1e457c1..9428e83 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/LastByAccumulator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/LastByAccumulator.java
@@ -23,7 +23,6 @@
 import org.apache.tsfile.block.column.ColumnBuilder;
 import org.apache.tsfile.enums.TSDataType;
 import org.apache.tsfile.file.metadata.statistics.Statistics;
-import org.apache.tsfile.file.metadata.statistics.TimeStatistics;
 import org.apache.tsfile.read.common.block.column.BinaryColumn;
 import org.apache.tsfile.read.common.block.column.BinaryColumnBuilder;
 import org.apache.tsfile.read.common.block.column.RunLengthEncodedColumn;
@@ -278,11 +277,6 @@
           yLastTime = yStatistics.getEndTime();
           xIsNull = false;
 
-          if (xStatistics instanceof TimeStatistics) {
-            xResult.setLong(xStatistics.getEndTime());
-            return;
-          }
-
           switch (xDataType) {
             case INT32:
             case DATE:
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/MaxAccumulator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/MaxAccumulator.java
index 2f5d761..e1a4b32 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/MaxAccumulator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/MaxAccumulator.java
@@ -209,10 +209,8 @@
         updateIntMaxValue((int) statistics[0].getMaxValue());
         break;
       case INT64:
-        updateLongMaxValue((long) statistics[0].getMaxValue());
-        break;
       case TIMESTAMP:
-        updateLongMaxValue(statistics[0].getEndTime());
+        updateLongMaxValue((long) statistics[0].getMaxValue());
         break;
       case FLOAT:
         updateFloatMaxValue((float) statistics[0].getMaxValue());
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/MinAccumulator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/MinAccumulator.java
index 88b8cc8..67e84e9 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/MinAccumulator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/MinAccumulator.java
@@ -209,10 +209,8 @@
         updateIntMinValue((int) statistics[0].getMinValue());
         break;
       case INT64:
-        updateLongMinValue((long) statistics[0].getMinValue());
-        break;
       case TIMESTAMP:
-        updateLongMinValue(statistics[0].getStartTime());
+        updateLongMinValue((long) statistics[0].getMinValue());
         break;
       case FLOAT:
         updateFloatMinValue((float) statistics[0].getMinValue());