SQL質疑応答スレ 17問目 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
このスレは
「こういうことをやりたいんだけどSQLでどう書くの?」
「こういうSQLを書いたんだけどうまく動きません><」
などの質問を受け付けるスレです。
SQLという言語はISOによって標準化されていますが
この標準を100%実装したDBMSは存在せず、
また、DBMSによっては標準でない独自の構文が
追加されていることもあります。
質問するときはDBMS名を必ず付記してください。
【質問テンプレ】
・DBMS名とバージョン
・テーブルデータ
・欲しい結果
・説明
前スレ:
SQL質疑応答スレ 16問目
http://echo.2ch.net/test/read.cgi/db/1447160858/ >>980
サブクエリにorder by使えないと思う
オラクルは使えるみたいだけど >>981
すいませんtop があればサブクエリでorderby 使える事知らなかった >>981
> サブクエリにorder by使えないと思う
SQL-Server 2005以降ならtopを指定してたら使える 出来れば ostgres をベースに回答してやろうよ みなさまありがとうございます
相関サブクエリ?で値でソートしたあとの最初のレコードを取ってくれば良いんですね
チャレンジしてみます >出来れば ostgres をベースに回答してやろうよ
Postgres ?
なんでPostgresなのかね
テンプレに
【質問テンプレ】
・DBMS名とバージョン
ってあるのにそれを書かない質問者の不手際だろ >>986
971にpostgresって書いてあるけど、 オストグレスは知らんが テンプレ通りではないが、
>>971の最後の行に
>Postgres使ってます
こうあるので >>992
select
from (select
group by
having count(*) > 1)
where >>993
何が言いたいのかわからない
>>980はすくなくともSQL Serverなら正しく動いた
DBMSによってはサブクエリのorder byとtop(limit)が効かないかもしれんが
ポスグレがそうならそう指摘して正しく動くSQL示せば良い話 >>992
select
from (select id, min(日付)
from テーブル
group by id
having count(*) > 1)
where 日付から考えるからおかしくなる。
これがプログラムならそういう順序では考えない。
質問者の「ソート」という言葉に惑わされてるんだろうな。 正確にはIDでグループ化した日付のMAXと、IDでグループ化したcountの結果の比較だけど、初めから答え書く気はない。 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 542日 22時間 52分 44秒 レス数が1000を超えています。これ以上書き込みはできません。