2012-02-13 24 views
3

SQLを介してoracleのテーブルから一意の値を取得しようとしています。テーブルはこのように見えます。SQL selectからユニークな値を取得

テーブル:カラム名と値を持つABC。

NAME Value 
AA 10 
B 40 
CC 50 
AA 70 
DD 80 
CC 90 
EE 100 
FF 120 
GG 130 
H 150 
EE 170 
I 180 
J 200 
K 210 
L 300 
GG 320 

カラム名にはABCからユニークな値を取得したいと考えています。 AAは2回来るので、私はAAを1回だけ取っていきますが、値が小さい方と一緒に1回だけ取ります。

SELECT DISTINCT 
    (NAME), 
    VALUE 
FROM 
    ABC 
ORDER BY 
    NAME ASC; 

助けてください。ありがとう

答えて

7
SELECT 
    NAME  AS NAME , 
    MIN(VALUE) AS VALUE 
FROM ABC 
GROUP BY NAME 
ORDER BY NAME ASC; 
+0

MSSQLと基本的に同じです:) –

+0

@Dragos Toader、ありがとう、あなたの答えはたくさんありますが、これはうまくいくようです。あなたは初心者から専門家レベルまで、良いSQLの本をお勧めしますか?ありがとう – Nomad

+0

私はO'ReillyのプレスラーニングSQLが好きです。http://www.amazon.com/Learning-SQL-Alan-Beaulieu/dp/0596520832/ref=sr_1_8?s=books&ie=UTF8&qid=1329161802&sr=1-8中間進んで、ジョーCelkoは、多くの良いSQLの書籍があります。http://www.amazon.com/s/ref=nb_sb_ss_i_2_7?url=search-alias%3Dstripbooks&field-keywords=joe+celko%27s+sql+for+smarties&x= 0&y = 0&sprefix = Joe + Cel%2Cstripbooks%2C190リレーショナル理論では、DBデザインは、CJ Dateはこの全分野の父です。 –

1

私はoracle構文を知らないが、(Name)でグループ化されたMSSQLであり、値の上でminがトリックを行い、すでに行っていることと一緒になる。

+0

ご回答ありがとうございます。 – Nomad

関連する問題