2012-03-01 36 views
6

Tôi tự hỏi nếu điều này là có thể. Tôi đang cố gắng xác định các bản ghi có một mẫu trong dữ liệu.làm thế nào để xác định hoặc recoginize một mô hình trong dữ liệu với SQL

Ví dụ một bảng với các lĩnh vực ID, DATA_DTE (chỉ ghi hàng ngày), TỐC ĐỘ.

Tôi muốn xác định khi lĩnh vực TỐC ĐỘ giọt ít nhất 4 và nắm giữ ít nhất 3 ngày liên tiếp liên tiếp

**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 

Từ trên, tôi về cơ bản muốn có một truy vấn SQL trả lại ID. Ví dụ: "1" trong ví dụ trên.

Có ai biết cách tôi có thể thiết lập truy vấn SQL của mình để trả lại các ID khớp với mẫu như thế này không? Tôi sẽ chạy nó trong việc tiếp cận ms 2003.

+2

Tại sao bỏ phiếu xuống? Tôi sẽ chống lại nó, nhưng tôi tò mò. – Fionnuala

+0

Tôi nghĩ bạn sẽ cần VBA cho việc này. – Fionnuala

+0

@Remou Double chống lại nó. :) –

Trả lời

3

Tôi không biết truy cập ms, nhưng nó có thể thực hiện công việc:

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 
+0

Thay thế '" d "' bằng ''d'' và sau đó nó có thể thực hiện công việc;) –

+0

Không có nhiều dấu ngoặc đơn, nó sẽ không. – Fionnuala

+0

@Norla - Có có nhiều ID trong bảng. Và có những ngày trong phạm vi hoàn chỉnh. – user1243468

Các vấn đề liên quan