我在計算我的sql情況下row_number的最大值時遇到了問題。在交叉內部獲得最大row_number適用
我會直接解釋它的SQL小提琴例子,因爲我認爲這將是更快的瞭解:SQL Fiddle
- 列「訂單號碼」,「HourMinute」和「守則」只是代表我的表因此,不應該用於編碼的目的是相關
- 列「DateOnly」包含日期
- 列「電話」包含我的客戶
- 列「購買」的手機包含的次數客戶在買最近12個月。請注意,此值是針對每個日期提供的,因此12個月的時間段是相對於我們正在評估的日期。
最後,我試圖製作的專欄是'PREVIOUSPURCHASES',用於統計在過去12個月(每部手機)中「Purchases」列中提供的數字的次數。
您可以在SQL Fiddle示例中看到迄今爲止我所取得的成果。 「PREVIOUSPURCHASES」這一列正在產生我想要的,然而,它也會產生較低的值(例如,只有最大值是我需要的值)。
例如,您可以看到第4行和第5行是重複的,其中一個的'PREVIOUSPURCHASES'爲1,另一個爲2.我不希望第4行在這種情況下。
我雖然關於用max(row_number)替換row_number,但我還沒有能夠產生它(已經看過類似的帖子在stackoverflow ...)。
這應該在SQL Server提前實現2012年
感謝。
(1)'購買'是'int'嗎? (2)不清楚「PREVIOUSPURCHASES」。您是否介意根據您的小提琴數據發佈需要的結果? – 2013-04-10 17:55:15