-3

私は3つの列を持つテーブルを持っています: - ID - FROM - TO そして私はそのようなデータを持っています

-----------------------
ID   |   FROM   |   TO
1    |   2      |   1
2    |   5      |   1
3    |   7      |   1
4    |   2      |   1
5    |   2      |   1
6    |   9      |   1
7    |   3      |   1
8    |   4      |   1
9    |   5      |   1

TO = 1 のすべての行を選択するクエリを作成したいのですが、以前に取得した行を表示したくありません。たとえば、FROM = 2 および TO = 1 の複数の行がある場合は、それを取得するだけです。 1回だけ並びます。

私のテーブルは実際にはこのようには見えませんが、私の目的はすべての FROM 番号を収集することですが、冗長性がないため、小さな例を示しています。

4

4 に答える 4

1

個別のキーワードを使用する

select distinct m.from,m.to from mytable as m;
于 2013-09-05T18:56:42.783 に答える
1

表示する列でグループ化するだけです。

select [from] from mytable group by [from]

あなたがしなければならないことは、あなたがしなければならないすべてです:

select [from], count(*) from mytable group by [from]

使用できますdistinctが、グループ化よりも遅くなりますが、より多くのメモリが必要になります。

group bydistinctの 違いについての説明が必要な場合は、こちらをお読みください

于 2013-09-05T18:57:21.333 に答える
1

使用するDISTINCT

SELECT DISTINCT from,to FROM yourTable WHERE to = 1

于 2013-09-05T18:54:53.253 に答える