SQL質疑応答スレ 6問目at DB
SQL質疑応答スレ 6問目 - 暇つぶし2ch449:NAME IS NULL
08/07/02 18:47:24
>>448
>>377に類似の質問がある。
回答は>>379とか>>382にあるけど、
>>445の前者みたいに素直に2文に分けたほうがいいと思う。
パフォーマンス面から言っても保守性から言っても。

450:NAME IS NULL
08/07/02 22:16:03
・DBとバージョン
Access2007

・テーブルデータ

Hinmei Type Goukei
--------------------
A     X    3
A     Y    1

・欲しい結果

Hinmei Type Goukei Wariai
---------------------------
A     X    3    75%
A     Y    1    25%

・説明
75% = 3 ÷ (3 + 1)
25% = 1 ÷ (3 + 1)

おながいします

451:NAME IS NULL
08/07/02 22:45:29
>>450
日本語で説明しろハゲ

452:NAME IS NULL
08/07/02 23:03:51
Wariaiは、Type毎に決まるGoukeiのHinmeiに対する割合です

つまりHinmei A、Type XのGoukeiは3なので、この行のWariai75%は
以下のように求めます

(Hinmei A、Type XのGoukei 3)÷(Hinmei AのGoukei 3+1) = 3 ÷ 4 = 75%

ちょっと説明しづらいです・・・

453:NAME IS NULL
08/07/02 23:11:32
>>452
そういうのはいいんだよw

何行になる可能性があるのか、すなわち、X、Y ってのは
何種類あんの?

454:NAME IS NULL
08/07/02 23:38:47
単純にサブクエリで割ればいいだけなんじゃね。
そのまま、type / (SELECT sum(type) FROM Table) ってすると効率悪そうなので、
実際のSQLはもう一ひねり欲しいところだけど。

455:NAME IS NULL
08/07/02 23:47:04
>>449
ありがとうございます。
>>>445の前者みたいに素直に2文に分けたほうがいいと思う。
>パフォーマンス面から言っても保守性から言っても。
そうすることにします。>>379>>382は理解できませんでした。

456:NAME IS NULL
08/07/03 04:33:44 eUYpeICD
日本人がイスラム過激派に狙われる可能性もあります

220 名前: 名無し三等兵 [sage] 投稿日: 2008/06/30(月) 00:35:59 ID:???
イスラムや胡錦濤の記事にもhentai入ってて
ニュー速の連中がアルジャジーラとかにメールしようとして
鬼女が止めに入ったり、なかなかわかってるなぁと。

262 名前: 名無し三等兵 [sage] 投稿日: 2008/06/30(月) 00:43:47 ID:???
つーか原理主義者は日本に入り込んでいるし組織もあるから
原理主義者によって白昼堂々人通りのある場所で首を掻き切られて
助教授が殺されて犯人が何も特定できていないわけで・・・

297 名前: 名無し三等兵 [sage] 投稿日: 2008/06/30(月) 00:51:28 ID:???
>>272
いや・・・それが・・・
タレコミより前に韓国でコーランが焼かれたと報道されてて
アルジャジーラTVより韓国でコーランを燃やす映像が放映され、アラブ諸国でさまざまの反応が出ている。
・その映像を見た老人がショック死(サウジアラビア)
・その映像を見た青年ら十数人が韓国大使館に投石(シリア)

★祭り★ 「日本の母は息子の性処理係」毎日新聞が捏造記事41
スレリンク(ms板)
★祭り★ 【毎日・変態報道】 毎日新聞、「2ちゃんねる」を名指し…「女性社員中傷書きこみで法的措置」で★26
スレリンク(newsplus板)
【記者】毎日新聞の英語版記事で日本を侮辱【豪人】
スレリンク(english板)
【Daily】毎日新聞英語版がひどすぎる 3【WaiWai】
スレリンク(mass板)
【毎日新聞】 iチャネル解約スレ 【変態報道】
スレリンク(keitai板)

457:NAME IS NULL
08/07/03 05:54:13
>>453
Hinmeiは30個ほどあったと思います(A,B,C,D・・・と続く)
Typeは必ずX,Yの2個です
なので、全体で60行ほど出力?

>>454
会社行って試してみます、一応帰宅後結果書き込みます


458:NAME IS NULL
08/07/03 07:28:03
>>457
計算式は、その行の goukei / Sum(goukei) Group By Hinmei でいいの?

Sum() じゃなくて、足し算に組み合わせがあるのかと思った。
そうでないなら、>>453 は無視してもらってOK

あと、>>454 じゃ絶対通らないからなw

459:454
08/07/03 07:46:58
おー、なんてこったいw
goukei / (SELECT sum(goukei) FROM Table)
だな。

Hinmei毎のWariaiを出すのなら、
SELECT * , goukei / (SELECT sum(goukei) FROM Table WHERE hinmei = T1.hinmei) * 100 FROM Table AS T1;

>>458
> goukei / Sum(goukei) Group By Hinmei
これ通らないよ。(端折ってるところ次第だが)
と、ツッコミ返しw



460:NAME IS NULL
08/07/03 11:55:29 rlpW59bU
SQLの質問じゃないかもしれないが

コマンドラインからで、
select結果を少しずつ表示するコマンドとかないですか
select * from table | less;
みたいな

人のサーバなんでファイル出力とかできません
今はlimit 100,50みたいに原始的なことやってます


461:NAME IS NULL
08/07/03 12:23:51
>>460
RDBMSが何かで変わると思わないか?

462:NAME IS NULL
08/07/03 13:47:33
というか、クライアントに何使ってるか、とk。

463:NAME IS NULL
08/07/03 20:56:21
【国際】PlayStationサイトにSQLインジェクション攻撃…悪意のあるコードが埋め込まれる - アメリカ
スレリンク(newsplus板)

464:NAME IS NULL
08/07/04 16:09:09
Oracle10gで連番の歯抜けを求めたいのですが、ちょっと条件が特殊でググったSQLでは上手く動きません

条件1 歯抜けを求めるのは500以降のみ。500以前のデータも普通に存在する
条件2 歯抜けとなっているレコードも削除フラグが立っているだけでテーブル上には存在している

上手く動かないSQLは以下の通りです

select nvl(min(no)+1,500)
from (select * from tbl where sakujo<>'1') A
where (not exists(select 1 from (select * from tbl where sakujo<>'1')) B where (no=A.no+1))) and (no>=500)

これを502以外に削除フラグが立っている状態で実行すると、503が返ってきてしまいます
500が返ってきて欲しいのですが、どうすればいいでしょうか?
よろしくお願いします


465:NAME IS NULL
08/07/04 16:47:29
>>464
括弧の数があってないような?

500番以上に削除フラグのレコードがあったらその最小値を返す。
500番以上に削除フラグのレコードがなかったら最大値+1を返す。
レコードの最大値が500番未満だったらどうする?
 500番を返す or 500番未満のレコードの最大値を返す

こんな感じでいいの?

466:NAME IS NULL
08/07/04 17:16:02
>>465
レスありがとうございます
カッコはすみません、ソースを見ながら打ったので間違えました

500以上のレコードがない場合には500が返ってきて欲しいです
つまり500で底上げされてるような感じです
削除フラグも、立っていればレコードが存在しないのと全く同じ扱いにしたいです

よろしくお願いします

467:NAME IS NULL
08/07/04 17:37:36
sakujo = '1' で削除状態とした。

select min(no) as no from
( 
  select no from tbl where no >= 500 and sakujo = '1'
  union all
  select coalesce(max(no)+1,500) as no from tbl where no >= 500
) a


468:NAME IS NULL
08/07/04 19:37:40
SQL SERVER 2005なのですが、
delete文で削除したデータは戻せないでしょうか?

469:NAME IS NULL
08/07/04 19:50:59
>>468
はい


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch