亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
12下一頁(yè)
最近訪(fǎng)問(wèn)板塊 發(fā)新帖
查看: 3706 | 回復(fù): 11
打印 上一主題 下一主題

求一查詢(xún)的sql [復(fù)制鏈接]

論壇徽章:
1
2017金雞報(bào)曉
日期:2017-01-10 15:19:56
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2008-09-18 08:19 |只看該作者 |倒序?yàn)g覽
要求實(shí)現(xiàn)(分別用一個(gè)sql語(yǔ)句)
以收貨人為依據(jù)查詢(xún)
1.連續(xù)3日內(nèi)重復(fù)出現(xiàn)20次的記錄
2.一月內(nèi)任一欄目總計(jì)出現(xiàn)30次的記錄
3.連續(xù)3月內(nèi)任一欄目總計(jì)出現(xiàn)50次的記錄

表名:suborder
表結(jié)構(gòu)
SUBORDER_ID           NUMBER(8)                       子訂單標(biāo)識(shí)                                         
PRODUCT               NUMBER(8)                       產(chǎn)品標(biāo)識(shí)                                          
ORDERFORM_ID          NUMBER(8)                       主訂單標(biāo)識(shí)                                         
PRICE                 NUMBER(15,3)  Y                 訂單價(jià)格                                          
SETTLE_PRICE          NUMBER(15,3)  Y                 商品VVGOO價(jià)                                       
TELPOINT              NUMBER(15)    Y                 補(bǔ)貼,積分額度                                      
VOUCHER               NUMBER(15)    Y                                                                    
FEE                   NUMBER(15,3)  Y                 運(yùn)費(fèi)價(jià)格                                          
FEE_NAME              VARCHAR2(100) Y                 運(yùn)費(fèi)名稱(chēng)                                          
COUNT                 NUMBER                 1        訂單產(chǎn)品數(shù)量(目前默認(rèn)1)                           
STATE                 VARCHAR2(20)                    訂單流程狀態(tài)                                       
CHANGE_REASON         VARCHAR2(60)  Y                 流程狀態(tài)變更原因                                   
PAY_STATE             VARCHAR2(20)                    支付狀態(tài)                                          
PAY_REASON            VARCHAR2(60)  Y                 支付狀態(tài)變更原因                                   
PRODUCT_SERIAL        VARCHAR2(60)  Y                 商品編號(hào),由商家回單填寫(xiě)                           
INVOICE               VARCHAR2(60)  Y                 發(fā)票號(hào),由商家回單時(shí)候填寫(xiě)                          
ACCEPTER_DISTRIBUTE   VARCHAR2(50)  Y                 收貨人地區(qū)                                         
ACCEPTER_ADDRESS      VARCHAR2(255) Y                 收貨人地址                                         
ACCEPTER              VARCHAR2(255) Y                 收貨人名稱(chēng)                                         
ACCEPTER_EMAIL        VARCHAR2(255) Y                 收貨人郵件                                         
ACCEPTER_POST         VARCHAR2(20)  Y                 收貨人郵編                                         
ACCEPTER_TELPHONE     VARCHAR2(20)  Y                 收貨人固話(huà)                                         
ACCEPTER_MOBILE       VARCHAR2(20)  Y                 收貨人手機(jī)                                         
ACCEPTER_ADDRESS_TYPE VARCHAR2(20)  Y                 收貨人地址類(lèi)型                                    
INVOINCR_HEADER       VARCHAR2(255) Y                 發(fā)票抬頭                                          
INVOINCR_CONTENT      VARCHAR2(255) Y                 發(fā)票內(nèi)容                                          
CREATE_DATE           DATE                   SYSDATE  創(chuàng)建日期                                          
SETTLE_STATE          VARCHAR2(20)  Y        'STS002' 結(jié)算狀態(tài)                                          
SETTLE_DATE           DATE          Y                 商家匯錢(qián)給威威購(gòu)的實(shí)際日期,可能與結(jié)算確認(rèn)日期不同
SETTLE_AFFIRM_DATE    DATE          Y                 進(jìn)行結(jié)算確認(rèn)操作的當(dāng)前日期                        
REFUND_DATE           DATE          Y                 退款日期                                          
MEMO                  VARCHAR2(255) Y                 備注                                               
AREA_ID               NUMBER(15)    Y                                                                    
SHOW_PRICE            NUMBER(15,3)  Y                 原始訂單價(jià)格                                       
VOUCHER_TYPE          VARCHAR2(60)  Y                 注:1代表OnlineVoucher ,2代表Voucher               
SHOW_VOUCHER_NAME     VARCHAR2(60)  Y                 只供顯示用,不記錄到數(shù)據(jù)庫(kù)   

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2008-09-18 08:47 |只看該作者
select 收貨人 from ...
where ...
group by 收貨人
having count(*) >= 50

論壇徽章:
1
2017金雞報(bào)曉
日期:2017-01-10 15:19:56
3 [報(bào)告]
發(fā)表于 2008-09-18 09:32 |只看該作者
先謝謝回復(fù),好像連續(xù)3日條件不好算

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2008-09-18 10:00 |只看該作者
我以為你是要特定的時(shí)間段呢
要滾動(dòng)的,不太好寫(xiě)

論壇徽章:
1
2017金雞報(bào)曉
日期:2017-01-10 15:19:56
5 [報(bào)告]
發(fā)表于 2008-09-18 10:01 |只看該作者
我擺渡了下,看了個(gè)算法覺(jué)得很復(fù)雜

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2008-09-18 10:05 |只看該作者
建個(gè)calendar表,放連續(xù)日期
select a.day,收貨人 from suborder a, calendar b
where a.create_date between b.day and b.day + 3
group by a.day,收貨人
having count(*) >= 50
試一下這樣

論壇徽章:
1
2017金雞報(bào)曉
日期:2017-01-10 15:19:56
7 [報(bào)告]
發(fā)表于 2008-09-18 10:08 |只看該作者
我試下,謝謝你了

論壇徽章:
1
2017金雞報(bào)曉
日期:2017-01-10 15:19:56
8 [報(bào)告]
發(fā)表于 2008-09-18 10:30 |只看該作者
好像不行因?yàn)閟uborder 表是不斷更新的,如果新建calendar表要進(jìn)行同步更新挺麻煩的!

論壇徽章:
1
2017金雞報(bào)曉
日期:2017-01-10 15:19:56
9 [報(bào)告]
發(fā)表于 2008-09-18 10:31 |只看該作者
擺渡的例子:
第一步:排序
SELECT * FROM WORK ORDER BY ID, DA
第二步:日期-ROWNUM如果相同的話(huà)認(rèn)為他們是連續(xù)的,然后GORUP BY一下
SELECT A.*, TO_NUMBER (A.DA - ROWNUM) DAYS
FROM (SELECT * FROM WORK ORDER BY ID, DA) A
第三步:分別求出連續(xù)區(qū)間,讓他們相減求出大于6的值
SELECT C.ID
(SELECT B.ID, (MAX (B.DA) - MIN (B.DA)) DAYS
FROM (SELECT A.*, TO_NUMBER (A.DA - ROWNUM) DAYS
FROM (SELECT * FROM WORK ORDER BY ID, DA) A) B
GROUP BY B.ID, B.DAYS) C
WHERE C.DAYS > 7

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2008-09-18 22:17 |只看該作者
select
  a.收貨人, min (b.rq), max (b.rq)
from
  your-tab a,
  your-tab b
where 1 = 1
and case when a.rq - b.rq >= 0 and a.rq - b.rq < 3
   then 1
   else 0
end = 1    -- 連續(xù)三天的日期檢查
and a.收貨人 = b.收貨人
group by a.收貨人
having count(*) >= 50
;

自鏈接的效率很低的。尤其是收貨人可能不是索引的情況。你可以在上面建立索引。
其實(shí)最好的還是以收貨人+日期進(jìn)行排序,用3天這個(gè)時(shí)間窗口來(lái)滑動(dòng)。效率會(huì)好很多。

剛才忘記了你是要找所有的記錄。
這樣就需要再用一個(gè)字查詢(xún)。用 '收貨人', rq in (最大,最。 剛才的結(jié)果集。
就得到了所有的記錄。

[ 本帖最后由 ivhb 于 2008-9-18 22:33 編輯 ]
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP