![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
select s.year, s.sale
from sales s join sales s1 on s1.year = s.year -1
join sales s2 on s2.year = s.year - 2
where s1.sale > s2.sale and s.sale > s1.sale
order by year
で、行けそうな気がしますけど。
書いてないことで推定した条件は、
yearフィールドには重複が無いこと。又は、適切な条件で一意化が出来ること。(この場合は、条件の付加が必要です。)
yearが初出又は、2年目の登場の場合には、2年前との比較のしようがありませんので、このような年度は表示しません。
やっていることは単純です。内部結合を使って
year, sale, year(-1), sale1(-1), year(-2), sale(-2)
という構造の結合テーブルを構成し、単純に二年前と前年、前年と今年の比較をしているだけです。
No.1
- 回答日時:
列示の中にCASEの記述が無いような…。
select s1.year, s1.sale from sales s1,
(select s2.year, s2.sale from sales s2,
(select s3.year, s3.sale from sales s3 where s3.year
= s2.year - 1 and s3.sales < s2.sales)
where s2.year = s1.year - 1 and s2.sale < s1.sale)
order by s1.year
未試験です。
あと、カンマの後ろには半角スペース入れると読み易いですよ
お早いご回答ありがとうございます!
教えて頂いたSQLを実行してみたところ「FROM句の副問い合わせは別名を持たなければなりません」と表示されています。
少しの修正で表示できそうなので確認してみます。
case文を入れるのを忘れてました。すみません。
自分で考えていたのは以下の文で2年連続表示はまだできていない
状態です。
SELECT
year
,CASE
WHEN sale = (SELECT sale FROM sales s2 WHERE s1.year = s2.year + 1) THEN '='
WHEN sale > (SELECT sale FROM sales s2 WHERE s1.year = s2.year + 1) THEN '+'
END AS var
FROM
sales s1
;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- PHP PHP MySql ページング 2 2022/09/20 06:38
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- Visual Basic(VBA) swiftで年号を 1 2023/02/05 06:48
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
joinの場合のテーブル名の別名...
-
今って秋田新幹線へ動いてますか?
-
【SQL】他テーブルに含まれる値...
-
SELECT INTOで一度に複数の変数...
-
フラグをたてるってどういうこ...
-
sqlに記述できない文字
-
JDBCを使ってdate型へのINSERT...
-
PostgreSQLのtimestamp型で時間...
-
SQLで、Join句で結合したテ...
-
予約システムでの時間の設計に...
-
1行のSQL文を改行するツール
-
1つのSQLで2段階の抽出を行い...
-
pandasでsqlite3にテーブル作成...
-
テーブル名が可変の場合のクエ...
-
timestampのデータはどのように...
-
T-SQLで任意の箇所で強制終了す...
-
ACCESS クエリーでソートの不具合
-
DB2のSQLコマンドについて
-
ORACLEのスキーマーを別のORACL...
-
insert処理でDATE型を追加したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
joinの場合のテーブル名の別名...
-
2つの列からの最大値取得
-
複数行の結果を単一列に連結
-
SQLについて
-
SQLで2年連続で値が上昇した年...
-
SQL 複数条件を設定
-
CREATE VIEWについて
-
SQLのこと:distinctして並び替...
-
SQL 複数条件を設定
-
sql,union,これはエラーですか...
-
月に対応するフィールドを抽出...
-
PostgreSQL で自動採番する方法
-
SQL文の長さ制限について
-
order byで並び変えし最大値の...
-
SQLで期間をずらした集計処理
-
Postgresql Mecabでの解析について
-
Openldap関係でまた詰まってし...
-
【SQL】他テーブルに含まれる値...
-
SELECT INTOで一度に複数の変数...
-
フラグをたてるってどういうこ...
おすすめ情報