t_meisaiは以下の定義で調味料の使用履歴を記録しています。
idint4uniqueな値
date timestampyy/mm/dd
type int41 or 2 or 3
orderint4純粋な順番
typeには塩、砂糖のように固形のものは1、酢、醤油のように液状のものは2、それ以外は3が入ります。
orderはdate毎に使った順番が記録されていきます。
date || type のgroupごとの一番最初に使ったものだけ抽出したのが下のSQLです。
select date || type as key, min(order) from t_meisai group by key
上記の条件に当てはまるレコードのidを抽出したいのですがどうしたらよいのでしょうか?
No.2ベストアンサー
- 回答日時:
>クエリを実行したまま処理が戻りません。
というか、遅いんでしょう(^^;;;
>下のものはgroup by keyのkeyがないのでできませんでした。
うーん、「できませんでした」って書くより、group by句を直したほうが早いですよね?
select id, minorder from t_meisai t1,
(select date, type, min(order) as minorder from t_meisai group by date, type) t2
where t1.date = t2.date and t1.type = t2.type
No.1
- 回答日時:
min(order)が不要だったらこんなので。
select id from t_meisai t1
where exists(
select date || type as key, min(order) from t_meisai t2 group by key
having key = (t1.date || t1.type) )
min(order)も必要ならこんなんで
select id, minorder from t_meisai t1,
(select date, type, min(order) as minorder from t_meisai group by key) t2
where t1.date = t2.date and t1.type = t2.type
この回答への補足
ご回答ありがとうございます。
実は両方ともうまくいきませんでした。
上のものはhaving句のkeyが無効と言われ
having key > having (t2.date || t2.type)にしましたが
クエリを実行したまま処理が戻りません。
下のものはgroup by keyのkeyがないのでできませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
GROUP BYを行った後に結合したい。
Oracle
-
SQLで部分的にGROUP BYしたいとき
Oracle
-
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
-
4
SELECT 文 GROUP での1件目を取得
SQL Server
-
5
特定の列だけをGROUP BYしたい時
SQL Server
-
6
GROUP BYを使ったSELECT文の総件数を求める方法
SQL Server
-
7
MAX関数を使ってからLEFT JOINしたいのですが・・
PHP
-
8
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
9
一部のカラムでdistinctし全てのカラムを取得
MySQL
-
10
キー毎の、ある列のmaxのレコードを取得し、別の列の値を取得したい
SQL Server
-
11
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
12
unionの結果は集計はできないですよね。。。。
Oracle
-
13
inner joinをすると数がおかしくなります
MySQL
-
14
<SQL>重複しているデータの場合は最新の日時のものを取得したい
SQL Server
-
15
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
16
SQLでグループ化した結果の件数を求めるには?
その他(データベース)
-
17
件数とデータを同時に取得するには?
Oracle
-
18
CASE文のエラーについて
Oracle
-
19
sqlserverにはグループ集計のfirstとlastがありません??
SQL Server
-
20
2つの項目が重複するレコードを抽出する方法はありますか?
MySQL
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
列が存在しないと言われる
-
自治会総会の成立要件について
-
SQLでUPSERTを一度に複数行やる...
-
postgresql についてです
-
PostgresQLでサーバーを新規追...
-
postgresqlでのトランザクショ...
-
PostgreSQLで"pg_dumpall -f da...
-
【PostgreSQL】行の値の並びを...
-
SQLにて指定日付より前、かつ最...
-
PostgreSQLについて教えてくだ...
-
PostgreSqlでFunctionの作成に...
-
select文の書き方「半角カナ+...
-
select文の書き方で分からない...
-
postgreSQLの日付を変数にする...
-
bashスクリプトでpostgreSQLの...
-
postgreSQLのint型は桁数指定が...
-
新規作成したPostgresqlデータ...
-
数値が定期的にあらわれる文字...
-
sqlの中で、 例えば条件句で AN...
-
tesuto 01
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
group byで指定したカラム以外...
-
postgreSQLのselect文でデータ...
-
PostgresSQLで自動計算
-
PostgresSQLでの動的な計算
-
ストアドプロシージャによる動...
-
複数の条件での絞り込み検索の仕方
-
POSTGRESQLでt時間差が30分以上...
-
件数をカウントして日付でソー...
-
1週間後の日付を求めたい
-
フラグをたてるってどういうこ...
-
SELECT INTOで一度に複数の変数...
-
【SQL】他テーブルに含まれる値...
-
sqlに記述できない文字
-
UPDATEで既存のレコードに文字...
-
テーブル名が可変の場合のクエ...
-
エラーを起こす方法
-
オラクルのUPDATEで複数テーブル
-
truncate tableを使って複数の...
-
結合したテーブルをSUMしたい
-
Accessで今日から5日後
おすすめ情報