亚洲区和欧洲区一二三四,wwwxxx日本,亚洲一区二区精品,国产精品白浆无码流出

VimIy微民網(wǎng),讓世界傾聽微民的聲音! 設(shè)為首頁 | 加入收藏 | 網(wǎng)站地圖
當(dāng)前位置:主頁 > 微博精選 >

請教SQL達(dá)人。請教SQL達(dá)人。請教SQL達(dá)人。請教SQL達(dá)人。請教SQL

整理時(shí)間:2012-07-20 15:09 熱度:°C

一個(gè)表里,一列數(shù)據(jù):
   
   00000001
   00000002
   00000003
   ...
   ...
   20000001
   20000001
   ...
   21000099
   33000001
   33000002
   ...
   55000001
   55000002
   ...
   59999999
   80000000
   80000001
   ...
   
   簡單說,這一列數(shù)據(jù)中,是大量連續(xù)的,但是在某些地方,會(huì)突然出現(xiàn)100000到30000000的跨度。
   那么,怎么取出,大于10000跨度的某一行(第一次大于100000跨度大一行,或者第二次等等),大于3000000跨度的以如此。
   
   用什么語句或者腳本,給個(gè)思路也行。 看不懂比如0樓的例子,33000001是第一個(gè)突然的跨度,它比之前一行的21000099突然跨出一大截。
   如何用sql寫法,如何發(fā)現(xiàn)這個(gè)33000001?跨度啥意思?兩行之差?
   寫個(gè)存儲(chǔ)過程應(yīng)該就行了。。。說數(shù)據(jù)庫, Oracle的話有辦法, 其他的就要寫程序了.
   PL/SQL可以用cursor 來做.sql估計(jì)沒法解決這個(gè)問題
   
   直接查詢?nèi),然后在本地做這個(gè)操作不要沉啊不要沉.............
   
   如果塞到臨時(shí)表里,多加一個(gè)序號,按照序號逐行檢測是不是下一行比前一行大1,而不是大了很多(大于一個(gè)變量)。
   不過這么做感覺太野蠻了,遍歷全表,效率很差。沒看懂,等高人,學(xué)姿勢不是oracle,是sybase....我不想添加一個(gè)子過程啊
   
   一個(gè)表里,一列數(shù)據(jù):
   
   00000001
   00000002
   00000003
   ...
   ...
   
   ...
   21000099
   33000001
   33000002
   ...
   55000001
   55000002
   ...
   59999999
   80000000
   80000001
   ...
   
   簡單說,這一列數(shù)據(jù)中,是大量連續(xù)的,但是在某些地方,會(huì)突然出現(xiàn)100000到30000000的跨度。
   那么,怎么取出,大于10000跨度的某一行(第一次大于100000跨度大一行,或者第二次等等),大于3000000跨度的以如此。
   
   用什么語句或者腳本,給個(gè)思路也行。
   
   關(guān)于跨度那段我理解不能
   
   
   標(biāo)紅是你寫錯(cuò)了么? Post by 毒邪 (2012-07-18 18:17)
   
   是寫錯(cuò)的。不過真是環(huán)境的確這樣,有重復(fù)的數(shù)據(jù)。
   
   目前就是要找到那個(gè)“跨度”。簡單說就是1,2,3,4,15,16,17這些數(shù),要找到4或者15,因?yàn)?和15之間差距不是1.臨時(shí)表加行號后排序?oracle的話,這樣也許可以:
   
   select t1.* from t t1, t t2 where t1.rownum = t2.rownum+1 and t1.數(shù)據(jù)列 > t2.數(shù)據(jù)列 + n (n是閾值,你自己定義) order by t1.數(shù)據(jù)列先給它們加上rownumber,然后找合適結(jié)果的rownumber最小值.這樣?相鄰兩條記錄取值辨斷是否相差1,然后一波帶走。 亂說的
   
   沒有序列的表大家都沒轍
   然后你又嫌棄做張臨時(shí)表產(chǎn)生序列判斷太耗資源- -
   
   呵呵~~~ Post by ztbsuper (2012-07-18 18:20)
   
   有沒有別的辦法,實(shí)表有幾百萬行數(shù)據(jù)....臨時(shí)表加序號也會(huì)很慢啊。
   
   有沒有辦法,比如同一個(gè)表,自己和自己關(guān)聯(lián),加各種函數(shù)去判斷找出...樓主的意思應(yīng)該是
   找出存在某字段值差值較大現(xiàn)象的相鄰兩條記錄中的第二條
   
   需要同時(shí)訪問同一張表的兩條記錄,SQL貌似沒這功能給樓主一個(gè)思路
   
   假設(shè)這一列數(shù)據(jù)是從a開始的
   
   因?yàn)槟阋樵兊淖钚】缍仁?0000,你可以設(shè)置一個(gè)9999的間距
   
   每次的value從a開始
   1 查詢該列值為value的數(shù)據(jù)
   2 如果value存在,對value+9999
   3 如果value不存在,查詢大于value的最小值。該值作為結(jié)果之一,并且將value設(shè)置為該值。繼續(xù)
   
   oracle的話,這樣也許可以:
   
   select t1.* from t t1, t t2 where t1.rownum = t2.rownum+1 and t1.數(shù)據(jù)列 > t2.數(shù)據(jù)列 + n (n是閾值,你自己定義) order by t1.數(shù)據(jù)列l(wèi)z啊,這個(gè)問題不難啊……你用游標(biāo)做循環(huán),然后定義一個(gè)標(biāo)準(zhǔn),發(fā)現(xiàn)第二個(gè)數(shù)字比前面一個(gè)大太多就把這個(gè)數(shù)字加到一個(gè)表里面不就完了?因?yàn)檫@個(gè)只做了減法,所以性能不會(huì)很差……

關(guān)于網(wǎng)站 | 網(wǎng)站聲明 | 用戶反饋 | 合作伙伴 | 聯(lián)系我們
Copyright 2012年2月8日 蘇ICP備12030052號-3
美女操一操| 久久精品国产99精品国产2021| α√女优久久精品试看| 2色婷婷五月| 亚洲成A∧人片在线播放黑人| 加勒比热人妻大全| 亚洲色图,五月婷婷| 久久久久无码精品国产不卡| 欧美亚洲国产欧美| av在线国产小仙女| 亚洲激情在线观看| 丰满少妇人妻HD高清大乳在线| 九九热国产99| 日韩乱码久久久久久| 亚洲免费成人电影| 无码更新| 久久精品午夜剧場| 亚洲在线一区| 国产日韩欧美综合| 成人动作电影在线观看| 国产精品成人一区无码| 国产欧洲在线视频| 农村纯黄色毛片| 亚洲精品无码AV专区最新| 精品熟妇av免费网站| 精品动漫头一区在线| 乌什县| 九九免费在线观看视频| 欧美风情一区二区| 超碰人人pro| 野花日本视频免费观看3| 熟妇一区,二区,三区| 夜夜激情91| 肥美的熟妇耸动白浆| 亚洲国产av无码综合原创国产| 欧美国产一区二区精品| 久久66AV| 亚洲国产精品成人无码区| 欧美三级美国一级| 日韩精品欧美人妻四区| 女人高潮视频久久|