MS-ACCESSにて以下のような条件のSQLを教えてください
年月日、数量の2つのカラムがあります
年月日 数量
1/1 100
1/2 150
1/3 120
1/4 200
年月日には、順番に年月日が入っています
数量には、いろいろな数値が入っています
ここで年月日の最新200件のレコードで
......select top 200 order by 年月日 desc
当日の数量が前日の数量より大きいものの数と小さいものの数
.......count(*) where 当日の数量 > 前日の数量 where 当日の数量 < 前日の数量
例の場合だと
1/2は1/1の数量より大きい
1/3は1/2の数量より小さい
1/4は1/3の数量より大きい
結果としてカウントした値は
大きい=2
小さい=1
を求めたいと思います
ひとつのSQLで、できればいいのですが
大きいのひとつ
小さいのひとつ
の二つのSQLでもいいです
よろしく、お願いします
No.1ベストアンサー
- 回答日時:
テーブル名を、tbl として
クエリ1
SELECT tbl.年月日, tbl.数量,
(select top 200 max(年月日) from tbl as tblA where tblA.年月日 <tbl.年月日) AS 前日
FROM tbl order by 年月日 desc;
で
年月日 数量 前日
2014/01/04 200 2014/01/03
2014/01/03 120 2014/01/02
2014/01/02 150 2014/01/01
クエリ二個目
SELECT tbl.年月日, [クエリ1].年月日, tbl.数量, [クエリ1].数量,
IIf([tbl].[数量]<[クエリ1].[数量],1,0) AS 大,
IIf([tbl].[数量]>[クエリ1].[数量],1,0) AS 小
FROM tbl INNER JOIN クエリ1 ON tbl.年月日 = [クエリ1].前日;
で
tbl.年月日 クエリ1.年月日 tbl.数量 クエリ1.数量 大 小
2014/01/01 2014/01/02 100 150 1 0
2014/01/02 2014/01/03 150 120 0 1
2014/01/03 2014/01/04 120 200 1 0
になります。SQLビューからデザインビューに切り替えても確認できます。
二つを合体して確認、クエリ1は、Q にしています。
SELECT tbl.年月日, Q.年月日, tbl.数量, Q.数量,
IIf([tbl].[数量]<Q.[数量],1,0) AS 大,
IIf([tbl].[数量]>Q.[数量],1,0) AS 小
FROM tbl INNER JOIN
(SELECT top 200 tbl.年月日, tbl.数量, (select max(年月日) from tbl as tblA where tblA.年月日 <tbl.年月日) AS 前日 FROM tbl order by 年月日 desc) AS Q ON tbl.年月日 = Q.前日;
最終的に、大小の合計だけのクエリ
SELECT Sum(IIf([tbl].[数量]<Q.[数量],1,0)) AS 大,
Sum(IIf([tbl].[数量]>Q.[数量],1,0)) AS 小
FROM tbl INNER JOIN
(SELECT top 200 tbl.年月日, tbl.数量, (select max(年月日) from tbl as tblA where tblA.年月日 <tbl.年月日) AS 前日 FROM tbl order by 年月日 desc) AS Q
ON tbl.年月日 = Q.前日;
では?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- その他(学校・勉強) 計算方法をご教授願います。 1 2022/11/14 11:40
- SQL Server これをSQL文で出来るでしょうか? 1 2023/03/26 02:16
- Excel(エクセル) Excel 数式がわかりません、答えが導かれる数式を教えていただけませんか? 2 2023/07/24 22:41
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- 高齢者・シニア 日本は戦争でもして多すぎて困ってる50以上の人間を削減しないのでしょうか? 1 2022/04/09 18:24
- 派遣社員・契約社員 短期派遣バイトの大量募集に応募しています。大量を選んでいるのは最初の研修で教える側と自分が一対一にな 1 2022/09/05 12:22
- PDF PDFファイルの圧縮 1 2022/10/04 13:48
- 農学 イネの収量構成要素 2 2022/08/16 16:23
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「.movpkg」「.m3u8」ファイル...
-
CAE
-
YahooのIDがロックされてしまい...
-
『ブ』の変換について
-
STEAM版BF4が起動しない
-
編集ソフト ビデオ パットを使...
-
パソコンでJPEG画像ファイルを...
-
フォルダ内にある全ファイルの...
-
自分で描いた下手な絵を綺麗に...
-
先日からDigiBestTVで「デバイ...
-
マックの表計算ソフト
-
jtrim 1.53cが正常な動きをし...
-
ラインで、自分が誰かを追加し...
-
【Cities skyline2】エラーが出...
-
特打について。
-
最新のpowershellについて。
-
ゆうちょ認証アプリが使えません
-
音楽CD 拡張子 CDA なのに再生...
-
ITの見積もりってなんであんな...
-
グーグルクロムにダウンロード...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ITの見積もりってなんであんな...
-
YahooのIDがロックされてしまい...
-
「.movpkg」「.m3u8」ファイル...
-
ゆうちょ認証アプリが使えません
-
jtrim 1.53cが正常な動きをし...
-
ATOKをお使いの方、今後もVer U...
-
CMYKのペイントソフトを探して...
-
グーグルクロムにダウンロード...
-
ホームページビルダーのバージ...
-
自分で描いた下手な絵を綺麗に...
-
パソコンでJPEG画像ファイルを...
-
マックの表計算ソフト
-
Numbersについてお伺いです。 ...
-
写真の印刷レイアウトについて
-
STEAM版BF4が起動しない
-
フォルダ内にある全ファイルの...
-
gimpで文字の細工をしたい
-
新バージョンPDFでのスナップシ...
-
Windows 11 に対応する作業
-
先日からDigiBestTVで「デバイ...
おすすめ情報