我有这个
(SELECT DISTINCT '1' as sb,nome,id,sobrenome,nasc,genero,escol FROM usuarios WHERE nome REGEXP 'leidiana da' AND tipo <> '7')
UNION DISTINCT (SELECT DISTINCT '2' as sb,nome,id,sobrenome,nasc,genero,escol FROM usuarios WHERE sobrenome REGEXP 'da silva dias' AND tipo <> '7')
UNION DISTINCT (SELECT DISTINCT '3' as sb,nome,id,sobrenome,nasc,genero,escol FROM usuarios WHERE nome REGEXP 'leidiana' AND sobrenome REGEXP 'da silva dias' AND tipo <> '7')
UNION DISTINCT (SELECT DISTINCT '4' as sb,nome,id,sobrenome,nasc,genero,escol FROM usuarios WHERE nome REGEXP 'leidiana da' AND sobrenome REGEXP 'silva dias' AND tipo <> '7')
UNION DISTINCT (SELECT DISTINCT '5' as sb,nome,id,sobrenome,nasc,genero,escol FROM usuarios WHERE sobrenome REGEXP 'silva dias' AND tipo <> '7')
UNION DISTINCT (SELECT DISTINCT '6' as sb,nome,id,sobrenome,nasc,genero,escol FROM usuarios WHERE nome REGEXP 'leidiana' AND tipo <> '7')
UNION DISTINCT (SELECT DISTINCT '7' as sb,nome,id,sobrenome,nasc,genero,escol FROM usuarios WHERE nome REGEXP 'leidiana' AND tipo <> '7')
UNION DISTINCT (SELECT DISTINCT '8' as sb,nome,id,sobrenome,nasc,genero,escol FROM usuarios WHERE sobrenome REGEXP 'leidiana' AND tipo <> '7')
UNION DISTINCT (SELECT DISTINCT '9' as sb,nome,id,sobrenome,nasc,genero,escol FROM usuarios WHERE sobrenome REGEXP 'leidiana da' AND tipo <> '7') ORDER BY sb
结果:
2 - 莱迪安娜·达·席尔瓦·迪亚斯 3 - 莱迪安娜·达席尔瓦·迪亚斯 4 - 莱迪安娜·达席尔瓦·迪亚斯 5 - 莱迪安娜·达席尔瓦·迪亚斯 6 - 雷迪安娜·达·席尔瓦·迪亚斯
7 - leidiana da silva dias
正如你所看到的,我试图解决这个问题,最终把所有的东西都放在了不同的位置。 rs
最佳答案
您强制联合的结果与第一列 (sb
) 不同。您可能可以使用外部 GROUP BY
解决问题:
SELECT min(sb) AS sb, name, id,sobrenome,nasc,genero,escol
FROM (
(SELECT '1' as sb,nome,id,sobrenome,nasc,genero,escol FROM usuarios WHERE nome REGEXP 'leidiana da' AND tipo <> '7')
UNION (SELECT '2' as sb,nome,id,sobrenome,nasc,genero,escol FROM usuarios WHERE sobrenome REGEXP 'da silva dias' AND tipo <> '7')
UNION (SELECT '3' as sb,nome,id,sobrenome,nasc,genero,escol FROM usuarios WHERE nome REGEXP 'leidiana' AND sobrenome REGEXP 'da silva dias' AND tipo <> '7')
UNION (SELECT '4' as sb,nome,id,sobrenome,nasc,genero,escol FROM usuarios WHERE nome REGEXP 'leidiana da' AND sobrenome REGEXP 'silva dias' AND tipo <> '7')
UNION (SELECT '5' as sb,nome,id,sobrenome,nasc,genero,escol FROM usuarios WHERE sobrenome REGEXP 'silva dias' AND tipo <> '7')
UNION (SELECT '6' as sb,nome,id,sobrenome,nasc,genero,escol FROM usuarios WHERE nome REGEXP 'leidiana' AND tipo <> '7')
UNION (SELECT '7' as sb,nome,id,sobrenome,nasc,genero,escol FROM usuarios WHERE nome REGEXP 'leidiana' AND tipo <> '7')
UNION (SELECT '8' as sb,nome,id,sobrenome,nasc,genero,escol FROM usuarios WHERE sobrenome REGEXP 'leidiana' AND tipo <> '7')
UNION (SELECT '9' as sb,nome,id,sobrenome,nasc,genero,escol FROM usuarios WHERE sobrenome REGEXP 'leidiana da' AND tipo <> '7')) sbs
GROUP BY name, id,sobrenome,nasc,genero,escol
ORDER BY sb
关于mysql - 具有多联合的重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7327086/