我想知道这是否可能。我正在尝试识别记录中数据中是否存在模式的记录。

例如,具有字段 ID DATA_DTE (仅每日记录), SPEED 的表。

我想确定 SPEED 字段何时下降至少4并连续至少连续3天保持

**ID**..**DATA_DTE**...**SPEED**
1........Jan-1............8
1........Jan-2............9
1........Jan-3............4
1........Jan-4............4
1........Jan-5............4
1........Jan-6............7
1........Jan-7............8
1........Jan-8............9

从上面开始,我基本上想让一个SQL查询返回ID。例如上面的“1”。

有谁知道我如何设置我的SQL查询以返回与这样的模式匹配的这些ID?我将在ms Access 2003中运行它。

最佳答案

我不知道ms Access 权限,但是它可以完成这项工作:

SELECT DISTINCT id
FROM       data AS d1
INNER JOIN data AS d2 ON d1.id = d2.id AND DateAdd("d",+1,d1.data_dte) = d2.data_dte
INNER JOIN data AS d3 ON d1.id = d3.id AND DateAdd("d",+2,d1.data_dte) = d3.data_dte
INNER JOIN data AS d4 ON d1.id = d4.id AND DateAdd("d",+3,d1.date_dte) = d4.data_dte
WHERE d1.speed - d2.speed >= 4
  AND d1.speed - d3.speed >= 4
  AND d1.speed - d4.speed >= 4

关于sql - 如何使用SQL识别或识别数据中的模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9523218/

10-13 08:22
查看更多