- ベストアンサー
SELECT DISTINCT の使いかた
テーブル名にA1,A2,A3と言う列がありA1内の列の重複を省き 結果をA1,A2,A3全て表示したいのですが方法がわかりません。 どなたかHELP お願いします。 SELECT DISTINCT A1 FROM テーブル
- ShiroNeko
- お礼率78% (51/65)
- その他(データベース)
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
もうひとつはっきりやりたいことが分からないのですが、DISTINCTは、組み合わせで重複しているものを取り除くのですが、いったいどうゆうことをするのでしょうか? A1 A2 A3 1 A α 1 A β 2 A α 1 A α SELECT DISTINCT A1,A2,A3 FROM テーブル A1 A2 A3 1 A α 1 A β 2 A α (4行目が1行目と重複しているので、表示されない) 補足お願いします。
その他の回答 (1)
- stork
- ベストアンサー率34% (97/285)
select distinct A1, A2, A3 from テーブル
お礼
大変申し訳ございません。 私の質問が根本的に間違っていました。storkさんの貴重な時間を無駄にして しまいました。 深く反省します。
関連するQ&A
- Select Distinctについて
SQL文の質問です。フィールドがTable1に100つあるとします。 select distinct XYZ From Table1という文があるとします。 これだとXYZのフィールドしか参照していないことになると思います。 そうではなくて、他の99フィールドの値も参照(データにアクセスしたい)したいと思っています。 select distinct XYZ, * From Table1とSelect * from Table1みたいなことをやりましたがエラーが発生しました。他の99フィールドを参照する方法はあるでしょうか?
- ベストアンサー
- その他(データベース)
- SELECT DISTINCTとWHERE
アクセス2010 テーブルAから、右2文字の重複しないテーブルBをつくり、さらにさらにテーブルBとも重複しない左2文字のテーブルCをつくりたい。 テーブルA [F00] ABCD ABAB EFGH IJGH INSERT INTO テーブルB (F1) SELECT DISTINCT Left([F00],2) AS F1 FROM テーブルA テーブルB [F1] AB EF IJ (うまくいきました) INSERT INTO テーブルC (F1) SELECT DISTINCT Right([F00],2) AS F1 FROM テーブルA,テーブルB WHERE テーブルB.F1<>Right(テーブルA.F00,2) (うまくいきません) 下記のようにしたいのですが。 テーブルC [F1] CD GH
- ベストアンサー
- その他(データベース)
- SELECT DISTINCTの結果件数をCOUNTする方法
SQL SERVER 2005 EXPRESS のストアドプロシージャで、 SELECT結果の件数を、変数 @count に取得したいのですが DISTINCTの引数が複数あるのが原因なのか、上手くいきません。 目的はテーブル「TBL」から、COMとUSERの組み合わせの リストを抽出し、その件数を取得する事です。 テーブル名:TBL COM USER --------------- 001 A 002 A 003 A 001 B 002 A 003 C 「COMとUSERの組み合わせで、重複するものは取らない」のならば SELECT DISTINCT COM,USER FROM TBL で、下記のような結果が得られます。 COM USER --------------- 001 A 002 A 003 A 001 B 003 C で、この結果件数である「5」を取りたいのですが DECLARE @count int SELECT @count = COUNT(DISTINCT COM,USER) FROM TBL print @count と打っても失敗します。 ( )の括りやCOUNTの位置をいろいろと試したが出来ませんでした。 COUNT DISTINCT(複数項目)が出来ないのならば、 どうすればこの結果の件数を取得できるでしょうか? どうかご教授授くださいませ。よろしくお願いします。
- ベストアンサー
- SQL Server
- DISTINCTの使い方を教えて下さい
Select 文で DISTINCT を記述すると結果(Count)は-1となってしまいます。 DISTINCTを外すと全件表示されます。 これは何がまずいのでしょうか ? 環境 DB=SQLserver 2000 + IIS 5.0 + ASP 例:Select DISTINCT TABLE1,TABLE2,TABLE3 FROM TABLE ちなみにdbをAccess で使用している時とクエリアナライザではOKでした。
- ベストアンサー
- Microsoft ASP
- SQL文「DISTINCT」の「ORDER BY」について
SQL文「DISTINCT」の「ORDER BY」について教えて下さい。 A列をDISTINCTで重複行の排除をしています。 その後、B列でORDER BYをかけたいのですが、エラーが 出てしまいます。A列でのORDER BYは成功します。 何か良い方法があれば教えて下さい。 よろしくお願いします。 SQL="SELECT DISTINCT A列 from table " &_ "WHERE (table.C列='100') " &_ "ORDER BY (table.B列) ASC " ⇒エラー "ORDER BY (table.A列) ASC " ⇒成功
- ベストアンサー
- SQL Server
- oracle9i distinct
select distinct 1 as aaa, bbb from table_a aaa bbb -------------------------- 1 a 1 b 1 c この場合の「distinct 1」というのは table_aの1列目でdistinctするという 意味でいいのでしょうか? でもdistinct 2 とすると、aaaの列の値が2になるだけなのですが・・。 すみませんがdistinct 1 の意味を教えていただけますでしょうか。
- ベストアンサー
- その他(データベース)
- 複数のテーブルからデータを取得したい
1つのテーブルから重複したデータを取り除いて表示するときに使う 【select distinct カラム名 from テーブル名;】 がありますよね。 それと同じようなことを複数のテーブルをまたいで行いたいのですがうまくいきません。 ちなみに両方のテーブルのカラム名は同じです。 【select distinct カラム名 from テーブル1 union select distinct カラム名 from テーブル2;】 としても重複を取り除いた後にテーブルを結合してるので結果的に両テーブルの重複した値を取り除くことができず。 そこで 【select distinct T1.カラム名, T2.カラム名 from テーブル1 T1. テーブル2 T2;】 としてみたのですが、クエリを実行中のまま反応がないので悩んでます。 ちなみに2つのテーブルのデータはそれぞれ2万件ほどです。 こういう時どういうsql文を組むのが正しいのでしょうか?
- ベストアンサー
- MySQL
- SQL 複数のテーブルから重複なしでデータを取得
同じフィールド名[名前]を持つテーブルが複数個あります。 仮にテーブル名を、A、B、C、Dの4個だとします。 それらのテーブルから、フィールド名[名前]のデータを重複なしで取得したいのですが、SQL文が思いつきません。 取得するフィールドは[名前]だけです。 select distinct(名前) from A union select distinct(名前) from B union select distinct(名前) from C union select distinct(名前) from D だと、各表に同じ名前が存在する場合は結果も重複してしまい、期待する結果が得られませんでした。 環境はOracle 9iです。 SQL文を教えてください。よろしくお願いします。
- 締切済み
- Oracle
- SQLのこと:distinctして並び替えたい
select * from (select distinct on (aaa) * from bbb) as ccc order by ddd テーブルbbbのaaaというフィールドが重複せず、しかも他のフィールドで並び替えをしたかったら、このような書き方以外ありますか?データベースはPostgreSQLです。 この書き方で不都合が出ているというわけではありませんが、どう書けば、パフォーマンス的にも良いSQLになるか、詳しい方がいらっしゃいましたら、お願いします。
- ベストアンサー
- PostgreSQL
- distinct句を使わずレコード総計を求めたい
DB初心者です。 DISTINCT句を使わずに、group by句を使って 重複データを除いたレコード総計を求めたいと思い、 下記の用にSQL文を書いたのですがうまくいきません。 oracleではなく、DB2を使っているのですがSQL文として 可能なのか教えていただければと思い質問を致しました。 <例> テーブル名:商品DB 商品名 a a b b c だったら、重複を除いたレコード数は3になりますが、 select count(*) from 商品DB group by 商品名 とすると 2 2 1 となり、それぞれの商品の合計数が出てしまうので select count(*) from ( select 商品名 from 商品DB group by 商品名) と副問合せ(でよいのでしょうか?)をしてみると 入力が予想されるトークンには "AS" が含まれている可能性があります。とエラーになってしまいました。
- ベストアンサー
- Oracle
お礼
大変申し訳ございません。 私の質問が根本的に間違っていました。msystemさんの貴重な時間を無駄にして しまいました。 深く反省します。