如何忽略重复值而不考虑它们在mysql中的位置?

时间:2014-08-27 06:34:33

标签: php mysql duplicate-removal

我的这个表有一列

A:

16654,16661

16661,16654

16670,16717

16717,16670

我希望这样:(忽略重复的值而不考虑它们的位置)

16661,16654

16670,16717

是否有任何数学函数在两个数字之间运算并具有唯一结果?

实际上我有这个表(名字:类)

id    second_code    have_second_code
1      0             no
2      3             yes
3      2             yes
4      5             yes
5      4             yes

当" have_second_code"是"是" 列second_code有一个值! id是主要的

第二个代码来自id列,它们之间存在二元关系。现在我需要输出 2,3和4,5

2 个答案:

答案 0 :(得分:0)

SELECT rowone, rowtwo, rowonemillion FROM yourtable GROUP BY(nodupecolumn)

答案 1 :(得分:0)

我想,生成这个one-column-multiple-values-table的查询使用GROUP_CONCAT()。在这种情况下,您需要这样做:

SELECT DISTINCT GROUP_CONCAT(DISTINCT whatever_column ORDER BY whatever_column) FROM ...

使用DISTINCT关键字两次。在GROUP_CONCAT()中,以便从逗号分隔值中删除重复项,并在GROUP_CONCAT()之外删除一次,以便删除重复的行。 ORDER BY中的GROUP_CONCAT()非常重要,否则外部DISTINCT将无法检测重复项。另请注意,(外部)DISTINCT适用于整行,而不仅仅是一列。