私は、顧客アカウントと転記月による販売情報を含むテーブルを持っています。転記月は、YYMMとして書式設定されたテキストフィールドです。私は別々の投稿月を降順で返すためのクエリを簡単に書くことができますが、それから12行目をどのように選ぶのですか?私は、最新の記録より12ヶ月前の投稿月を、スカラー副照会として理想的に選択して、選択基準として使用できるようにしたいと考えています。現時点では、このパラメータはUDFによって提供されていますが、パフォーマンスはサブクエリより優れていると思われます。テーブルで12番目に新しい日付を見つけるにはどうすればよいですか?
1
A
答えて
2
次の操作を行うことにより、12日を取得することができます:
select distinct month
from t
order by month desc
offset 11
fetch first 1 row only;
これはANSI SQLですが、それはすべてのデータベースでは動作しません。ただし、ほとんどのデータベースで同様の機能がサポートされています。
+0
Doooh。私は再びそれを見て非常に簡単です。 X AS(CustomerRebateTracker01Pivot.PostingMonth DESC BY CustomerRebateTracker01Pivot 注文からCustomerRebateTracker01Pivot.PostingMonth DISTINCT TOP 12を選択)から、StartPeriod AS MIN(PostingMonth)を選択します。 – Dougie
0
次のようにあなたは、12行を識別するために、「ウィンドウ関数」を使用することができます...
;WITH cteExampleData
(
PostingMonth,
Data
)
AS
(
SELECT '1611', 'Test1'
UNION ALL SELECT '1612', 'Test2'
UNION ALL SELECT '1701', 'Test3'
UNION ALL SELECT '1601', 'Test4'
UNION ALL SELECT '1602', 'Test5'
UNION ALL SELECT '1604', 'Test6'
UNION ALL SELECT '1605', 'Test7'
UNION ALL SELECT '1501', 'Test8'
UNION ALL SELECT '1502', 'Test9'
UNION ALL SELECT '1503', 'Test10'
UNION ALL SELECT '1401', 'Test11'
UNION ALL SELECT '1403', 'Test12'
UNION ALL SELECT '1404', 'Test13'
UNION ALL SELECT '1405', 'Test14'
UNION ALL SELECT '1406', 'Test15'
)
SELECT *
INTO #ExampleData
FROM cteExampleData;
;WITH cteFind12thRow
AS
(
SELECT RowNumber = ROW_NUMBER() OVER (ORDER BY PostingMonth),
*
FROM #ExampleData
)
SELECT * FROM cteFind12thRow
WHERE RowNumber = 12
関連する問題
- 1. アレイで2番目に優れたものを見つけるにはどうすればよいですか?
- 2. 日付と週番号の2つのテーブルを結合するにはどうすればいいですか?
- 3. (C++)システムの日付を最大限に見つけるにはどうすればよいですか?
- 4. NSDatesを比較して配列の中で最も古い日付と最新の日付を見つけるにはどうすればいいですか?
- 5. JavaScriptまたはjQueryの日付ピッカーで2つの日付の間の日を見つけるにはどうすればよいですか?
- 6. TextMate:キーボードショートカットに関連付けられたコマンドを見つけるにはどうすればよいですか?
- 7. Webアプリケーションに関連付けられたAPIを見つけるにはどうすればよいですか?
- 8. テーブルの列を最新の日付で注文するにはどうすればよいですか?
- 9. 将来の日付にMySQLテーブルの値を更新するにはどうすればよいですか?
- 10. JTableでセルタイピングイベントを見つけるにはどうすればよいですか?
- 11. 時間を更新するにはどうすればよいですか?新しい日付またはsetInverval?
- 12. テーブル1の各レコードの日付より古い、テーブル2の最新レコードで2つのテーブルを結合するにはどうすればよいですか?
- 13. Postgresql列名に基づいてテーブルを見つけるにはどうすればよいですか?
- 14. 2つのテーブルを日付範囲とIDでマージするにはどうすればよいですか?
- 15. 今日まで日付を日付ピッカーで無効にするにはどうすればよいですか?
- 16. FSCalendar:2つの日付で日付を取得するにはどうすればよいですか?
- 17. BFSで実際に見つかったパスを見つけるにはどうすればよいですか?
- 18. k-bestソリューションを見つけるにはどうすればよいですか?
- 19. レーキタスクのソースファイルを見つけるにはどうすればよいですか?
- 20. サンプリング後にベクトルの残りの項目を見つけるにはどうすればよいですか?
- 21. XcodeでUILabelを見つけるにはどうすればいいですか?
- 22. CSVファイルに昨日の日付を付けるにはどうすればいいですか?
- 23. 最後にを見つけるにはどうすればいいですか?
- 24. 日付時刻のリストから最も近い日付時刻を見つけるにはどうすればよいですか?
- 25. バイナリ検索を使用してユーザ番号を見つけるにはどうすればいいですか?
- 26. アンドロイドの日付ピッカーウィジェットに新しいボタンを追加するにはどうすればよいですか?
- 27. PHPで月の[x]日を見つけるにはどうすればよいですか?
- 28. 日付を比較してテーブルの正しい位置を見つけるにはどうすればいいですか? JavaScript
- 29. mysqlテーブルの2番目に小さい値を見つける
- 30. テーブルをロードするファイルパスを見つけるにはどうすればよいですか?
あなたはいくつかのコードを投稿することができますか?また、使用しているRDBMSにタグを付けることができますか? –
ANSI SQLには、 'FETCH FIRST'と組み合わせた' OFFSET'節があります。 – jarlh