我的SQL查询来获取唯一记录

时间:2017-03-06 13:12:22

标签: mysql sql

我的表名是菜单列表,如下所示。

 Health_interest_id   menu_id
    -------------------  -------
    4                     4
    4                     10
    5                     10
    2                     4
    2                     10
    2                     15
    2                     16
    1                     4

现在我想要的结果只有在之前没有得到相同的结果...

例如在第1行中我们可以看到health_id = 4,menu_id = 4。这样就可以获取行了,

然后在第2行,我们可以看到health_id = 4,它已经出现在上面的行中,所以跳过那一行,

与第3行相同,menu_id = 10,这在上面的recore中可用,所以跳过它,并继续所有行。如果之前得到结果,则表示跳过。

2 个答案:

答案 0 :(得分:0)

嗯。如果您只想要两列中的不同值,则可以执行以下操作:

select Health_interest_id as menu_id from menulist
union
select menu_id from menulist;

这会达到你想要的效果吗?

答案 1 :(得分:0)

你真的应该将这种逻辑移出数据库引擎,因为它不是为了进行上下文感知选择而设计的。您正在破坏关系数据概念。这里所说的是一个解决方案,任何人都不应该出于任何理由使用它。我应该被解雇,并且我的学位被撤销并被禁止从stackoverflow只是为了写它。但我认为看起来很有趣。你不敢用它;)。

D:\phpunit\