根据mysql中的两列选择唯一的行

时间:2017-06-08 07:05:55

标签: mysql codeigniter

我一直试图找出一种方法来根据两列的值选择唯一的行。例如,以下是我的文件的示例/示例:

s      r
10    12
10    13
14    10
10    12
14    10
12    10

这就是我希望我的输出看起来像:

s      r
10    12
10    13
14    10

我尝试过使用此代码

SELECT * FROM `message` WHERE (`s_id`=$b_id or 'r_id'=$b_id) GROUP BY 
r_id

然而,它只选择10,12 10,11而且我还需要使用的是“我的意思是第三行”

在这种情况下,$ b_id是从会话中获得的,它可能是s或r

3 个答案:

答案 0 :(得分:1)

您可以尝试使用DISTINCT SELECT DISTINCT s_id,r_id FROM {消息{1}} {S_ID {1}} 总是尝试指定所需的列而不是*(所有)它提高性能

答案 1 :(得分:0)

这样做

select distinctrow s_id,r_id from table where s_id = 10 or r_id = 10

或者使用"拥有"两列的子句和分组

答案 2 :(得分:0)

经过两天的努力,我成功地找到了解决问题的方法

SELECT * FROM `message` WHERE s=$b_id or r=$b_id AND (r and 
s)<>(s_ and r) GROUP BY s,r