2014-10-31 48 views
1

我似乎无法得到此工作。MySql选择两列之间唯一值的行

我有这个表:

A B 
- - - 
1 2 
1 3 
1 4 
4 1 
3 1 
2 1 

我只想前三排,

A B 
- - - 
1 2 
1 3 
1 4 

因为最后3行仅仅是前三的是相反的。

我该如何用MySQL Query来做到这一点?

请帮忙!

回答

2

SQL Fiddle

鉴于这种模式,

CREATE TABLE t 
    (`A` int, `B` int) 
; 

INSERT INTO t 
    (`A`, `B`) 
VALUES 
    (1, 2), 
    (1, 3), 
    (1, 4), 
    (4, 1), 
    (3, 1), 
    (2, 1) 
; 

您可以使用此查询来把你的A,B的数据,减少它,消除重复。

SELECT DISTINCT LEAST(A,B) AS A, 
       GREATEST(A,B) AS B 
    FROM t 

Results

| A | B | 
|---|---| 
| 1 | 2 | 
| 1 | 3 | 
| 1 | 4 | 
+0

这个作品,谢谢 – user3786924 2014-10-31 19:32:23