• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

mysql UNION 有重复的数据,如何解决

php 搞代码 4年前 (2022-01-23) 17次浏览 已收录 0个评论

mysql UNION 有重复的数据,怎么解决?
SELECT * , 1 AS xh
FROM text
WHERE (
id <312
AND `title` LIKE ‘%德国%’
AND `title` LIKE ‘%丹麦%’
)
UNION SELECT * , 2 AS xh
FROM text
WHERE (
id <312
AND `title` LIKE ‘%德国%’
OR `title` LIKE ‘%丹麦%’
)
ORDER BY xh
LIMIT 6

——解决方案——————–
改成’x”X’…..这么诡异的注意你也能想出来….嗯, 至少要加个注释,要不将来被N个读代码的骂不要怪我…..

关于括号:
id <312 AND `title` LIKE '

5本文来源gao!daima.com搞$代!码#网#

搞代gaodaima码

%德国%’ OR `title` LIKE ‘%丹麦%’
相当于 ( id <312 AND `title` LIKE '%德国%' ) OR `title` LIKE '%丹麦%'

这个和
id <312 AND ( `title` LIKE '%德国%' OR `title` LIKE '%丹麦%' )
是不同的, 应该明白了吧,

还不明白加条 有”丹麦”并且 id>312的记录 并且能让它排进前6的话就明白了
——解决方案——————–
不至于搞得那么复杂吧?

SQL code

SELECT * , 1 AS xhFROM textWHERE (id <312AND `title` LIKE '%德国%'AND `title` LIKE '%丹麦%')UNION SELECT * , 2 AS xhFROM textWHERE (id <312AND (`title` LIKE '%德国%')+(`title` LIKE '%丹麦%') = 1ORDER BY xhLIMIT 6 


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:mysql UNION 有重复的数据,如何解决
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址