doris not like查询结果错误

Viewed 62

版本 2.0.13
问题描述 期望查询 结果得到 BJQSD 实际查询为 不符查询逻辑

问题复现数据样例如下

CREATE TABLE tmp.`ods_dcs_environInfo170_rt` (
  `deviceType` VARCHAR(100) NULL COMMENT '类型',
  `acceptTime` BIGINT NULL COMMENT '接受时间',
  `deviceNo` VARCHAR(50) NULL COMMENT '采集类型编码',
  `pointName` VARCHAR(200) NULL COMMENT '点位名',
  `dasValue` VARCHAR(200) NULL COMMENT '值',
  `quality` VARCHAR(30) NULL,
  `timestamp` BIGINT NULL COMMENT '时间戳',
  `collect_time` DATETIME NULL COMMENT '收集时间',
  `etl_time` DATETIME NULL COMMENT 'etl时间'
) ENGINE=OLAP
DUPLICATE KEY(`deviceType`)
COMMENT '环境数据'
PARTITION BY RANGE(`collect_time`)
(
PARTITION p20240908 VALUES [('2024-09-08 00:00:00'), ('2024-09-09 00:00:00')),
PARTITION p20240909 VALUES [('2024-09-09 00:00:00'), ('2024-09-10 00:00:00')),
PARTITION p20240910 VALUES [('2024-09-10 00:00:00'), ('2024-09-11 00:00:00')),
PARTITION p20240911 VALUES [('2024-09-11 00:00:00'), ('2024-09-12 00:00:00')),
PARTITION p20240912 VALUES [('2024-09-12 00:00:00'), ('2024-09-13 00:00:00')))
DISTRIBUTED BY HASH(`deviceType`) BUCKETS 10
PROPERTIES (
"replication_allocation" = "tag.location.default: 3",
"is_being_synced" = "false",
"dynamic_partition.enable" = "true",
"dynamic_partition.time_unit" = "day",
"dynamic_partition.time_zone" = "Asia/Shanghai",
"dynamic_partition.start" = "-730",
"dynamic_partition.end" = "3",
"dynamic_partition.prefix" = "p",
"dynamic_partition.replication_allocation" = "tag.location.default: 3",
"dynamic_partition.buckets" = "32",
"dynamic_partition.create_history_partition" = "true",
"dynamic_partition.history_partition_num" = "20",
"dynamic_partition.hot_partition_num" = "0",
"dynamic_partition.reserved_history_periods" = "NULL",
"dynamic_partition.storage_policy" = "",
"storage_format" = "V2",
"disable_auto_compaction" = "false",
"enable_single_replica_compaction" = "false"
);



INSERT INTO tmp.ods_dcs_environInfo170_rt  VALUES('environ', 1725844964698, '1703222', 'AirSupply_Humdt', '66.214554', '1', 1725844964676, '2024-09-09 09:22:44', '2024-09-09 09:22:45');
INSERT INTO tmp.ods_dcs_environInfo170_rt  VALUES('environ', 1725844960944, '1703222', 'AirSupply_Humdt', '66.20732', '1', 1725844960926, '2024-09-09 09:22:40', '2024-09-09 09:22:45');
INSERT INTO tmp.ods_dcs_environInfo170_rt  VALUES('environ', 1725844957416, '1703222', 'AirSupply_Humdt', '66.20732', '1', 1725844957404, '2024-09-09 09:22:37', '2024-09-09 09:22:37');
INSERT INTO tmp.ods_dcs_environInfo170_rt  VALUES('environ', 1725844952066, '1703222', 'AirSupply_Humdt', '66.21094', '1', 1725844952046, '2024-09-09 09:22:32', '2024-09-09 09:22:33');
INSERT INTO tmp.ods_dcs_environInfo170_rt  VALUES('environ', 1725844949041, '1703222', 'AirSupply_Humdt', '66.297745', '1', 1725844949033, '2024-09-09 09:22:29', '2024-09-09 09:22:29');
INSERT INTO tmp.ods_dcs_environInfo170_rt  VALUES('environ', 1725844946779, '1703222', 'AirSupply_Humdt', '66.30498', '1', 1725844946755, '2024-09-09 09:22:26', '2024-09-09 09:22:29');
INSERT INTO tmp.ods_dcs_environInfo170_rt  VALUES('environ', 1725844941160, '1703222', 'AirSupply_Humdt', '66.46412', '1', 1725844940553, '2024-09-09 09:22:21', '2024-09-09 09:22:22');
INSERT INTO tmp.ods_dcs_environInfo170_rt  VALUES('environ', 1725844938694, '1703222', 'AirSupply_Humdt', '66.39902', '1', 1725844938666, '2024-09-09 09:22:18', '2024-09-09 09:22:18');
INSERT INTO tmp.ods_dcs_environInfo170_rt  VALUES('environ', 1725844935761, '1703222', 'AirSupply_Humdt', '66.46412', '1', 1725844935736, '2024-09-09 09:22:15', '2024-09-09 09:22:18');
INSERT INTO tmp.ods_dcs_environInfo170_rt  VALUES('environ', 1725844929314, '1703222', 'AirSupply_Humdt', '66.4822', '1', 1725844929306, '2024-09-09 09:22:09', '2024-09-09 09:22:12');

查询sql 如下


 select 
 	node_name 
 from(   
 	select 'a100' as node_name
    
 	union all
 
	SELECT
	    'BJQSD' AS node_name
	FROM(
        select 
             pointName,
             dasValue,
             collect_time,
			 row_number() OVER (PARTITION BY pointName ORDER BY collect_time DESC) AS row_num
        from tmp.`ods_dcs_environInfo170_rt`
        where pointName = 'AirSupply_Humdt'   and  collect_time > hours_sub('2024-09-09 09:23:00',1)
	 ) t1
	 WHERE
	    t1.row_num = 1 
) res
where node_name not like '%100'
1 Answers

【问题状态】已修复
【问题处理】https://github.com/apache/doris/pull/40619