1

我有一张桌子。。

字段_1 | 字段_2 | 字段_3 | 字段_4
数据_1 | 数据_2 | 数据_3 | 数据_4

所有带有 tablename 的数据都可能重复。

我想选择唯一的 field_1,这样我就不会得到任何重复,但我还需要该行数据的其余部分。

SELECT DISTINCT field_1, field_2, field_3, field_4 FROM tablename;

上面的查询显然不起作用。所以我的问题是我该怎么做?

更新

如何防止显示重复项。

所以如果我有

数据_1|数据_2|数据_3|数据_4
数据_1|数据_2|数据_3|数据_4
数据_6|数据_7|数据_8|数据_9

结果只会显示

数据_6|数据_7|数据_8|数据_9
4

1 回答 1

3

能多给点记录吗?下面的查询将为field_1每个组生成唯一但随机的记录(尤其是在处理大型数据库时)。

SELECT field_1, field_2, field_3, field_4
FROM   TableName
GROUP  BY field_1

更新 1

SELECT  field_1, field_2, field_3, field_4
FROM    TableName
GROUP   BY field_1, field_2, field_3, field_4
HAVING  COUNT(*) = 1
于 2013-04-19T17:38:47.567 回答