• ベストアンサー

distinct したい!

select ●, distinct ■ from sample こんな感じで取得できないでしょうか ●は無条件でくっついてくる感じです。。。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

>最小一致 なるほどね。解決済みのようですがそれならdistinctではないですね select min(●) as ●, ■ from sample group by ■

imkgp
質問者

お礼

すばらすぃ!〆なくて良かったです。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>distinctで■の重複を省いて、●のカラムも表示(取得)させたい。 それは考え方がまちがっています。 ■の重複を省いた時点で、●の値はいったい重複しているどの 値をとればいいか判断できませんよね? もし一定のルールで●を選定できるのであれば、 サブクエリーをつかえばできますが、いまの命題の提示では書けません。 逆に、●が一定であればまとめてDISTINCできます。

imkgp
質問者

補足

舌足らずで申し訳ないです!■はオートインクリメント(ID)です。最小一致で考えていました。その他の方法で解決しました。

全文を見る
すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

意味がわかりにくいんだけど・・・ ●はフィールド?それとも値? 普通考えれば select distinct ●,■ from sample で済むと思いますが・・・

imkgp
質問者

補足

それだと●が条件の対象になるので。 distinctで■の重複を省いて、●のカラムも表示(取得)させたい。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 年月でdistinctしたい(PostgreSQL)

    PostgreSQLでdistinctの使い方についての質問です。 t_mainのDDATEカラム(DATE)に DDATE ============================ 20030929 20030930 20031001 20031002 ・ ・ ・ というデータが入っています。 このデータのうち、年月でdistinctした データが欲しいので、以下のようにSQLを組みました。 =========================================== select distinct substring(DDATE from 1 for 6) from t_main order by DDATE これでは値が取得できなかったので、次に =========================================== select distinct TO_CHAR(DDATE,'YYYYMM') from t_main order by DDATE としましたが、これも値が返ってきません。 上手に年月でdistinctできる方法を教えてください。 欲しいのは ======== 200309 200310 という結果です。 宜しくお願いいたします。

  • DISTINCTの使い方を教えて下さい

    Select 文で DISTINCT を記述すると結果(Count)は-1となってしまいます。 DISTINCTを外すと全件表示されます。 これは何がまずいのでしょうか ? 環境 DB=SQLserver 2000 + IIS 5.0 + ASP 例:Select DISTINCT TABLE1,TABLE2,TABLE3 FROM TABLE ちなみにdbをAccess で使用している時とクエリアナライザではOKでした。

  • Select Distinctについて

    SQL文の質問です。フィールドがTable1に100つあるとします。 select distinct XYZ From Table1という文があるとします。 これだとXYZのフィールドしか参照していないことになると思います。 そうではなくて、他の99フィールドの値も参照(データにアクセスしたい)したいと思っています。 select distinct XYZ, * From Table1とSelect * from Table1みたいなことをやりましたがエラーが発生しました。他の99フィールドを参照する方法はあるでしょうか?

  • COUNT(DISTINCT *)がエラーになる理由を教えてください

    以下のSQL文がエラーとなるのはなぜですか? SELECT COUNT(DISTINCT *) FROM 社員 SELECT DISTINCT * FROM 社員 ならエラーにならないのにどうしてでしょうか

  • 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 の意味を教えていただけますでしょうか。

  • SQLのこと:distinctして並び替えたい

    select * from (select distinct on (aaa) * from bbb) as ccc order by ddd テーブルbbbのaaaというフィールドが重複せず、しかも他のフィールドで並び替えをしたかったら、このような書き方以外ありますか?データベースはPostgreSQLです。 この書き方で不都合が出ているというわけではありませんが、どう書けば、パフォーマンス的にも良いSQLになるか、詳しい方がいらっしゃいましたら、お願いします。

  • distinct をexistsに変換する

    distinctをexistsに変換した方がパフォーマンスが良いようで、 例えば以下の例があるとします ---------------------------------- (前)SELECT DISTINCT a.ID1, a.NAME1 FROM TABLE1 a, TABLE2 b WHERE a.ID1 = b.ID2 (後)SELECT a.ID1, a.NAME1 FROM TABLE1 a    WHERE EXISTS ( SELECT 'X' FROM TABLE2 b WHERE a.ID1 = b.ID2) ---------------------------------- もっと複雑なSQLの場合、EXISTSに変換できるのでしょうか?。複雑なSQLとは、 「複数のテーブルからカラムを取得」「テーブル結合が2つ以上」「外部結合」 などのSQLで、以下に例を示します。 (例)SELECT DISTINCT a.ID1,a.NAME1,b.ID2,b.NAME2,c.ID3,c.NAME3    FROM TABLE1 a,TABLE2 b,TABLE3 c    WHERE a.ID1 = b.ID1(+)      AND a.ID1 = c.ID1(+)

  • DISTINCT + COUNT

    みなさんこんにちは。 以下のようなSQL文のCOUNT関数を作りたいのですが、 うまい手法がわからず困っています。 SELECT DISTINCT Ta.会員ID, Tb.品番 FROM TABLE_A AS Ta LEFT JOIN TABLE_B AS Tb ON Ta.ID = Tb.ID ↑こいつのCOUNTですが、単純に SELECT COUNT(DISTINCT Ta.会員ID, Tb.品番) ~ とやるとエラーになってしまいます。 どうやってやればカウントできるのでしょうか? すごく初歩的なことだと思いますが、 ご助言お願いいたします。

  • SELECT DISTINCT の使いかた

    テーブル名にA1,A2,A3と言う列がありA1内の列の重複を省き 結果をA1,A2,A3全て表示したいのですが方法がわかりません。 どなたかHELP お願いします。 SELECT DISTINCT A1 FROM テーブル

  • DISTINCTでは無理でしょうか?

    市区町村|コード| 杉並区 |22222| 杉並区 |22222| 杉並区 |77777| 豊島区 |88888| SQL文で、上記のデータから重複するコードは一つのカウントとしてまとめ、下記のように杉並区のデータを取得したいのですが、うまくいきません。どのように書けば良いでしょうか。 市区町村|CNT| 杉並区 |2 | 失敗SQL select DISTINCT 市区町村,コード, COUNT(*) as CNT from テーブル WHERE 市区町村 = '杉並区' GROUP BY 市区町村,コード

    • ベストアンサー
    • MySQL