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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
あるあるbotに投稿したけど採用されなかったあるある募集
あるあるbotに投稿したけど採用されなかったあるあるをこちらに投稿してください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
SQLで部分的にGROUP BYしたいとき
Oracle
-
GROUP BYを行った後に結合したい。
Oracle
-
[SQL]重複内容を持つデータから1件抽出かつ複数のカラムを表示したい
その他(データベース)
-
-
4
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
5
特定の列だけをGROUP BYしたい時
SQL Server
-
6
一部のカラムでdistinctし全てのカラムを取得
MySQL
-
7
VBscriptが起動しない?
Microsoft ASP
-
8
アクセス特有の書き方?
Access(アクセス)
-
9
MAX関数を使ってからLEFT JOINしたいのですが・・
PHP
-
10
SQLでSUMなどの関数でデータが無い時に0を返したい。
Oracle
-
11
DateTimePickerでに年月までしか選択できないようにしたいです。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
売り上げ集計SQLが作れません
-
sqlに記述できない文字
-
フラグをたてるってどういうこ...
-
SELECT INTOで一度に複数の変数...
-
【SQL】他テーブルに含まれる値...
-
truncate tableを使って複数の...
-
timestampのデータはどのように...
-
既存データをINSERT文にして出...
-
【VB】セルが空になるまで処理...
-
CASEでBETWEEN制約
-
UPDATEで既存のレコードに文字...
-
SELECTした結果に行番号を求めたい
-
オラクルのUPDATEで複数テーブル
-
SQLサーバに対するSQL文で抽出...
-
SQLで一定時間周期毎の抽出方法...
-
AccessVBAについて テーブルの...
-
MySQL: 複数テーブルのcount
-
テーブル名が可変の場合のクエ...
-
ora-01722のエラーについて
-
limit offset はupdate文には使...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
group byで指定したカラム以外...
-
PostgresSQLでの動的な計算
-
件数をカウントして日付でソー...
-
複数の条件での絞り込み検索の仕方
-
PHP+SQL在庫集計で在庫の累計が...
-
ストアドプロシージャによる動...
-
postgreSQLのselect文でデータ...
-
売り上げ集計SQLが作れません
-
フラグをたてるってどういうこ...
-
SELECT INTOで一度に複数の変数...
-
【SQL】他テーブルに含まれる値...
-
sqlに記述できない文字
-
既存データをINSERT文にして出...
-
PostgreSQLのtimestamp型で時間...
-
truncate tableを使って複数の...
-
オラクルのUPDATEで複数テーブル
-
UPDATEで既存のレコードに文字...
-
テーブル名が可変の場合のクエ...
-
エラーを起こす方法
-
Accessで今日から5日後
おすすめ情報