7

以下のような記録があります。

key  | name
--------------
1111 | aa   
1111 | bb    
2222 | cc

値が異なる場合はkeyandを選択する必要があります。私が試したとき:namekey

select distinct key, name from table;

クエリは列の組み合わせを区別するため、すべての行を取得しました:keyname. しかし、私が必要とするのは明確なものだけでありkeyname. 実績が多いので実践的な方法が必要です。

4

5 に答える 5

12

クエリ:

SELECT `key`, MAX(`name`) as name
FROM `table`
GROUP BY `key`
于 2012-12-12T20:42:46.180 に答える
3

それだけではない理由:

SELECT distinct key
FROM table

また

SELECT key, name
FROM table
GROUP BY key
于 2012-12-12T20:45:12.603 に答える
0

グループ化されていないフィールドを気にしない場合は、このクエリを試してください -

select key, name from table group by key order by name

MySQL では、集計関数を使用せずにフィールドを選択できます。

名前順は、グループから名前を選択するのに役立ちます。

于 2012-12-12T20:44:37.967 に答える
0

これはどう:

select * from table group by key having count(key) = 1
于 2012-12-12T20:47:12.713 に答える
0
SELECT key, name FROM table GROUP BY key;

これは、 の個別の値ごとに 1 つの行を返しkey、 の値はnameそのグループの行から任意に選択されます。実際には、MySQL はグループ内で最初に物理的に格納された行から name の値を返す傾向がありますが、それは保証されていません。

他の回答が示すように、名前を集計式に入れることができます。

于 2012-12-12T20:43:24.413 に答える