※ 引述《idleidle (哎躱哎躱)》之銘言:
: 資料表如下
: 分店 月份 漢堡業績 雞排業績
: A 1 10 12
: A 2 11 11
: A 3 12 10
: B 1 12 13
: B 2 11 14
: B 3 10 15
: C
: 至
: Z
: 共有A~Z 26個分店。
: 老闆要求
: 他想知道那分店,在1,2,3月份的漢堡業績皆成長,即3>2>1月份。
: 也想知道那分店,業績皆衰退,如A分店雞排。
: 有辦法用T-SQL寫出來嗎?
: 目前是先撈出A店資料,再一筆一筆做判斷
: 不過資料量一大就會變很慢
: 想利用SQL 加速
: 謝謝
: 另外有任何書籍有討論類似的問題嗎?
: 感恩
給你一個提示,業績通通是成長,反過來說,就是
"不存在" (月份較小,但業績卻較大)
因此你可以建立一個子查詢,是自己join自己(分別取名為a,b兩表),
且where a.月份<b.月份 and a.業績>b.業績 and a.分店代號=b.分店代號,
這樣可以查出所有月份較小但業績卻較高的分店。
最後外圈包一個主查詢,where 分店代號 not in (剛剛的子查詢)
完成了…
(本來只是要小小提示一下,結果怎麼好像全講完了orz)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.133.145
※ 編輯: diamondking 來自: 118.166.133.145 (05/09 03:29)