這個表我想查出 過車時間相差10S內的車牌號串列 ,并且只顯示滿足這個條件次數大于2 的資料,
我這個 不寫 rownum <200 會特別慢。 外聯的話不加限制條件是兩個表內容乘積數量,所以肯定不能這么寫。
EMM。
總思路 是查出 一天時間段內 出現間隔小于設定的間隔 的情況大于 設定的閾值 算同行,最終要查的資料是 同行物件的個數, 開始同行時間 最后同行時間 同行被捕獲的次數 (即那個小于間隔的那個情況個數)。

uj5u.com熱心網友回復:
對列有計算,肯定會慢,表結構和索引情況都說一下,貼一下 DLL 。uj5u.com熱心網友回復:
分頁和不分頁當然會有性能差異,把SQL也貼出來吧,最好還有執行計劃uj5u.com熱心網友回復:
好的提問方式應該是:1.貼上表結構:如果HK_CLKK表結構就是你上面的截圖,那就不需要了。
2.附上建表陳述句和測驗陳述句,即:Create陳述句+insert陳述句,畢竟與人方便,就是給己方便。
3.說明下要實作的效果,最好是有影像展示效果。
uj5u.com熱心網友回復:
希望樓主重新整理下問題及描述。uj5u.com熱心網友回復:
select cphm ,count(*) from (select
cphm,
lag(to_date(gcsj)) over(partition by cphm order by to_date(gcsj) desc)-to_date(gcsj) d_minus
from hk_clkk
) t1
where d_minus*24*60*60<10
group by cphm
having count(*)>2;
uj5u.com熱心網友回復:
select cphm ,count(*) from (select
cphm,
lag(to_date(gcsj,'yyyy-mm-dd hh24:mi:ss')) over(partition by cphm order by to_date(gcsj,'yyyy-mm-dd hh24:mi:ss') desc)-to_date(gcsj,'yyyy-mm-dd hh24:mi:ss') d_minus
from hk_clkk
) t1
where d_minus*24*60*60<10
group by cphm
having count(*)>2;
剛剛 to_date 格式漏了,這個寫法的話 表掃一遍,沒測性能,可以試試
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/65114.html
標籤:開發
