- ベストアンサー
ユニークなナンバーのデータの抜き出し(SQL)
すいません。 うまくいかないので、質問させていただきます。 ユニークなナンバーの振られたデータを100件だけ抜き出したい。 また、ナンバーの若い順にならんでるとは、限りません。 とりあえず、上から100件抜き出したいのです。 データは、以下のようになっています。 1 赤 3 黄 12 青 7 緑 ・ ・ 100 黒 105 白 100件を抜き出すSQLは、どのようにして考えたら良いでしょうか? 実際にSQLを教えて頂けたら、助かります。 よろしくお願い致します。
- mkim
- お礼率72% (161/221)
- その他(データベース)
- 回答数6
- ありがとう数6
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
結果の行数を100件に抑制したいということなら、 set rowcount 100 select ほにゃらら とすれば100件だけの結果を取り出せます。set は接続レベルで 設定が持続するので、次のクエリを実行する前に set rowcount 0 を忘れないよう実行してください。
その他の回答 (5)
- urk
- ベストアンサー率33% (18/53)
Oracle8iでは 8iからの機能でROWNOができました。 select * from TABLE where ROWNO<101 で、とにかく100件でてきます。 sybaseはどうでしょうか?
お礼
ご回答ありがとうございます。 sybaseでは、「set rowcount」の指定を行う事で 成功致しました。 しかし、オラクル用やら、sybase用やら、統一して欲しい ですね(愚痴になってしまいますが。) これから、勉強する方は、大変ですぅ。 がんばりたいと思います。 ありがとうございました。
- stork
- ベストアンサー率34% (97/285)
>オラクルで言う所の疑似列を想定して100件抜き出した >いなぁ~って思いました。 >SELECT * FROM table_name WHERE ROWNUM <= 100 >ORDER BY id sybase使ったこと無いんですが、sybaseでしたらtopですかね。 select top 100 * from table_name order by id
お礼
ご回答ありがとうございます。 sybaseでは、topを指定すると、エラーでちゃいました^^;; どうやら、だめみたいです。 アドバイスして頂いた気持ちが嬉しかったです。 ありがとうございました。
- Haizy
- ベストアンサー率40% (404/988)
こんにちは。 多分、ナンバーは、ユニークでかつ連続番号ではないのですね。 データのテーブルを 「データ」として、ここに、「ナンバー」「カラー」のカラムがあるということで、よろしいでしょうか。 まず、順位をつけて、その順位に制限をかけてみましょうか。 |select a.順位,a.ナンバー,a.カラー |from( | select( | select count(*)+1 | from データ | where データ.カラー < s.カラー) 順位 , s.ナンバー, s.カラー | from データ s))a |where 順位<=100 |oeder by 順位 つまり、データをデータ(S)と比較し、自分より小さい数をカウントしたものを+1したものが順位です。それをfrom句にいれて、サブクエリとしています。 こんな感じですか。 あ~~DBで、実際走らせていないので・・・・。(この辺が”自信なし”) 構文エラーとか、そん時は、ゴメンナサイ。 何かあったら補足ください。 でわでわ
お礼
ご回答ありがとございます。 set rowcount 100と言う指定でできました。 こちらも、色々な考え方があると思い、勉強になりました。 ありがとうございました。
- zerosix
- ベストアンサー率31% (47/149)
>データは、以下のようになっています。 >1 赤 >3 黄 >12 青 >7 緑 ・ ・ >100 黒 >105 白 フィールド構成が分かりません。 idと色は同じフィールドですか? テーブル定義はどうなっているのですか? あと、 >とりあえず、上から100件抜き出したいのです。 DBに上からという概念はありませんよ。降順とか昇順とかで並び替えは できますが。
補足
すいません。質問の仕方が下手でした^^;; idと色は、別のフィールドです。 オラクルで言う所の疑似列を想定して100件抜き出したいなぁ~って思いました。 SELECT * FROM table_name WHERE ROWNUM <= 100 ORDER BY id こんな感じの事が、したいのです^^ ちなみに、DBには、sybaseを使用しています。 ですので、oracle固有のものが使えなくて、困っています。 よろしくお願いします。
- kusukusu
- ベストアンサー率38% (141/363)
select * from table_name order by number LIMIT 0 OFFSET 100
お礼
ご回答ありがとうございます。 質問時に書き忘れていたのですが、DBにsybaseを使用しています。 LIMITか、OFFSETが、Oracle固有のものみたいで、失敗しました^^;; sybaseでも、使用できる形で何かあれば、アドバイスよろしくお願い致します。
関連するQ&A
- 日産 ラルゴ デッキ配線
CDデッキを 付けたいと思ってます。 車側の配線色は 青2本 茶色1本 黒に赤ライン1本 黒に白ライン2本 黒に緑ライン1本 黄色1本 緑1本 赤に青ライン1本 オレンジ1本 デッキ側配線色 グレー1本 グレーに黒ライン1本 白1本 白に黒ライン1本 緑1本 緑に黒ライン1本 青1本 紫1本 紫黒ライン1本 赤1本 黄色1本 何色と何色を 繋げたらいいか 分かる方いたら 教えて頂きたいです お願いします
- 締切済み
- 国産車
- エクセルの関数での処理方法
下記のようなデーターベースがあります 列 A B C D E F 行 4/1 4/10 4/20 1 青 100 青 1100 青 11000 2 黄色 200 黄色 1200 黄色 12000 3 緑 300 緑 1300 緑 13000 4 赤 400 赤 1400 赤 14000 5 紫 500 紫 1500 紫 15000 6 黒 600 黒 1600 黒 16000 7 白 700 白 1700 白 17000 8 茶 800 茶 1800 茶 18000 9 水色 900 水色 1900 水色 19000 10 朱色 1000 朱色 2000 朱色 20000 上の図では分かりにくいかも知れませんが、 A列には上から4/1、青、黄・・・ B列には上から空白、100、200・・・ C列には上から4/10、青、黄・・・ D列には上から空白、1000、2000・・・ E列には上から4/20、青、黄・・・ F列には上から空白、10000、20000・・・と並んでます。 4/1の項目は4/9までの値段 4/10の項目は4/19までの値段 4/20の項目は4/30までの値段になります。 4/5、4/10/、4/15、4/25の白の値段を調べるにはどのようにすればいいでしょうか? 4/5、4/10、4/15、4/25のそれぞれに VLOOKUP関数の式を入れて調べるんではなく ひとつの式を入れて調べる日付のセルの値だけが 変わるだけで 全部同じ式で反映されるようにしたいんですが・・・ できますか? VOOLUP関数やIF関数を組み合わせてやってるんですが うまくいきません。 それともマクロでないとできないですか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 車のナンバーの色は種類??
はじめまして、おはよう御座います。 車に乗っていて疑問に思ったんですが…。 車のナンバーに色が付いてますよね? 私が見たのは白・黄色・黒・濃い緑です。 黄色は確か軽自動車の意味だったような…?? この色の種類・意味、教えて頂けると嬉しいです。 よろしくお願い致します。
- ベストアンサー
- 国産車
- EXCEL:2項目で重複するデータを抽出したい
EXCELで、A,B,C,D・・・とデータが続き、それぞれに重複する複数個のデータがあるときに、重複を省いて抽出することはできるのでしょうか?データ(行)が約5万件ほど合って、手作業では無理な状況です。どなたか、ぜひ教えて下さい! 例: A 青 A 青 A 白 B 赤 B 黄 B 黄 C 青 ↓ A 青 A 白 B 赤 B 黄 C 青
- 締切済み
- その他(業務ソフトウェア)
- ROW_NUMBER BY PL/SQL
こんばんは。 今PL/SQLで開発をしているのですが、PL/SQLでわからないことがあります。 日付のソート順に並べたデータの中から、何行目から何行目までのデータを取得、ということがしたくてROW_NUMBERを使ってSQL文を作成しました。 そのSQL文はきちんと動くのですが(データ取得できる)、それをPL/SQLにてカーソル宣言するとコンパイルエラーになってしまいます。 ROW_NUMBERの部分を削除するとコンパイルは通るので、原因はROW_NUMBERにあるようです。 しかしながら、ROW_NUMBERを使わずに、何行目から何行目までのデータ取得、ということが実装できるのか検討もつきません。 どうしてカーソルでROW_NUMBERが使えないのか? ROW_NUMBERのかわりのようなコマンド、もしくは実装方法が存在するのか? 不明な点は補足させていただきますので、ご教示の程宜しくお願い致します<(_ _)>
- 締切済み
- その他(データベース)
- 自由研究(どの色が一番光を吸収するか)
私は中学2年で、今自由研究をしています。その自由研究の内容はまず透明なプラスチックコップに黒、白、赤、緑、青、なにもはってないもの、の6つを用意し同じ量の水をいれ太陽の光がよくあたる場所(外)におきました。そして30分後と1時間後にそれぞれのコップの水の温度をはかりました。そしたらこんな結果になりました。 赤 青 黄 黒 白 なし 30分後 35,5 35,8 35 36,3 34,5 36 1時間後 35,8 36 35,5 37 35,2 36,2 こんな結果になりました。 この結果からは『白→黄→赤→青→なし→黒』 となりますが、一番黒が光を吸収し白が一番光を吸収しないとゆうことであってるのでしょうか? 『白→黄→赤→青→なし→黒』何故このような結果になったのでしょうか?色の濃さが関係しているんでしょうか。
- ベストアンサー
- 化学
- カーオーディオの音量・配線について
オーディオを交換したのですが音量がすごく小さくて困っています(スピーカーに耳を近づけてようやく聞こえる程度) 以前のオーディオでは正常に聞こえていたのでスピーカーは問題ないと思います ただ交換したオーディオが中古なのでこれが壊れている可能性もあるのですが それ以外に考えられる原因を教えて頂けますか? ちなみに配線を記載しておきます オーディオはケンウッドで14ピンのカプラー 緑・緑・橙・橙・0・赤・黄 ※赤:ACC 黄:バックアップACC 青・青・赤・赤・青・0・黒 ※黒:アース 青:アンテナコントロール ※上下左側4列はスピーカー ※0は穴はあるけど線が出ていない これらの線が下記の接続カプラーの線につながっています 9ピン:灰/黒・白/黒・0・青・・・・橙 :灰・・・・白・・・・・・・赤&青・青(*) *右下の青は隣の赤に戻っています(赤の場所から2本出ている) 5ピン:紫/黒・黄・緑/黒 :紫・・・・・・・緑 ※灰:フロントR 白:フロントL 紫:リアR 緑:リアL 電源が入り音は鳴っているので基本的な配線は間違っていないと思うのですが・・・ 配線以外に何か原因はありますか? よろしくお願いいたします
- ベストアンサー
- 国産車
お礼
ご回答ありがとうございます。 set rowcountを使用すると、ビシッと成功しました。 接続レベルで設定が維持される事をわきまえて、 使いたいと思います。 ありがとうございました。