Mysql 两个查询的不同值

Mysql 两个查询的不同值,mysql,Mysql,我需要筛选重复项,但union正在显示重复项 For example Query-1 is displaying 5 tuples like 1,2,3,4,5. Query-2 generating 3 tuples like 1,2,6. Union of both the tuples displaying result 1,2,3,4,5,1,2,6. But I want the result as 1,2,3,4,5,6. 这是我的控制器: public function prod

我需要筛选重复项,但union正在显示重复项

For example Query-1 is displaying 5 tuples like 1,2,3,4,5.
Query-2 generating 3 tuples like 1,2,6.
Union of both the tuples displaying result 1,2,3,4,5,1,2,6.
But I want the result as 1,2,3,4,5,6.
这是我的控制器:

public function product()
{
    $product = $this->input->post('keyword');
    $temp = explode(" ", $product);
    $count = count($temp);
    for($i=0;$i<$count;$i++)
    {
        $query = "SELECT * FROM `product` WHERE SOUNDEX(`name`) LIKE CONCAT('%',SOUNDEX('$temp[$i]'),'%') UNION SELECT * FROM `product` WHERE `name` like '%$temp[$i]%'";
        $data = $this->Back_model->getby_query($query);
        $records = json_encode($data);
        echo $records;
    }
}  
公共功能产品()
{
$product=$this->input->post('keyword');
$temp=爆炸(“,$product”);
$count=计数($temp);
对于($i=0;$iBack\u model->getby\u query($query);
$records=json_encode($data);
echo$记录;
}
}  

首先,我可能会用另一种脚本语言来实现这一点,但是如果你真的想在MySQL中实现这一点,你需要使用
DISTINCT
。你应该查询数据并将其放入临时表中,然后从临时表中查询
DISTINCT
值。一旦你完成了,你可以删除临时表。对于一个操作,这个很小,不确定这是否是我要做的,但是如果你说你有数千条记录/值需要过滤,那么这可能是不值得的。

没有明显的理由使用2个select查询,第二个过滤器可能会添加到现有的where子句中

   SELECT * 
   FROM `product` 
   WHERE SOUNDEX(`name`) LIKE CONCAT('%',SOUNDEX('$temp[$i]'),'%')
   AND `name` like '%$temp[$i]%'";

请编辑您的问题,并提供示例数据和所需结果。不清楚您想做什么。使用
UNION
将删除重复项。您必须编辑问题,以便我们了解重复的内容。是的。立即编辑您的问题。35; Manjhiyeah我编辑了我的问题,如果我没有编辑清楚的话。抱歉。希望如此你知道我想要什么。谢谢:)编辑不好。您必须显示重复的行。例如,如果您两次看到元组1,这意味着某些信息不同(您使用的是
*
表示所有记录,而
UNION
表示删除重复项)。
UNION
产生不同的结果,如果您阅读了询问者所写的内容,则此建议没有意义,他说这并没有产生一个独特的结果,这就是它产生的结果:1,2,3,4,5,1,2,6在没有充分阅读问题的情况下记下我的答案,我的回答不是适当的行动。选择。。。UNION[全部| DISTINCT]选择尽管单词DISTINCT是可选的,但如果您仅使用
UNION
DISTINCT,则使用UNION时的选择是
UNION ALL
UNION DISTINCT
。因此,尽管提供了一种替代方法,但没有理由认为它可以解决(尚未记录的)问题哇,我不敢相信我没有想到(我以前确实用过这个,类似的东西),这是一个很好的答案,谢谢你@used_By_已经为这个例子,这也是一个很好的复习!我还没听清楚你说的“被你用过”。我写的查询是正确的??否则请写下查询:)谢谢!