DISTINCT关键字在mysql查询中不起作用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了DISTINCT关键字在mysql查询中不起作用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1749字,纯文字阅读大概需要3分钟。
内容图文
![DISTINCT关键字在mysql查询中不起作用](/upload/InfoBanner/zyjiaocheng/885/6f79b93f06f447feb0a0ffb4a4a3532c.jpg)
我遇到了一个问题,即我的mysql查询无法正常工作.我正在使用工会加入3表,从结果我想忽略重复的单词.为此,我使用了DISTINCT关键字.但是它没有按预期工作.
我的查询是
SELECT DISTINCT(catnam), sub2id
FROM tbl_first_page_products f INNER JOIN subcategory_level2 s
ON f.brand_id = s.sub2id
WHERE f.title_cat = 'men'
UNION
SELECT DISTINCT(catnam), sub2id
FROM tbl_third_page_products f INNER JOIN subcategory_level2 s
ON f.brand_id = s.sub2id
WHERE f.title_cat = 'men'
UNION
SELECT DISTINCT(catnam), sub2id
FROM tbl_fourth_page_products f INNER JOIN subcategory_level2 s
ON f.brand_id = s.sub2id
WHERE f.title_cat = 'men'
我的结果是
catnam sub2id
------ ------
Levi's 4
United 1
Reebok 130
Jack 18
Proline 77
Levi's 161
Arrow 284
在以上结果中,李维斯重复了.如何忽略这一点.我只需要一个李维斯.有什么办法可以避免这种情况.我被困在这里.
解决方法:
MySQL DISTINCT多列
您可以将DISTINCT子句与多个列一起使用.在这种情况下,MySQL使用所有列的组合来确定结果集中行的唯一性.
http://www.mysqltutorial.org/mysql-distinct.aspx
如果要解决问题,可以使用group_concat()函数,然后对所有联合查询按catnam进行分组:
SELECT name ,GROUP_CONCAT(id)
FROM your_table
GROUP BY name ;
因此您的查询可以是:
SELECT distinct(catnam) as catnam, GROUP_CONCAT(sub2id )
FROM tbl_first_page_products f INNER JOIN subcategory_level2 s
ON f.brand_id = s.sub2id
WHERE f.title_cat = 'men'
UNION
SELECT distinct(catnam) as catnam, GROUP_CONCAT(sub2id )
FROM tbl_third_page_products f INNER JOIN subcategory_level2 s
ON f.brand_id = s.sub2id
WHERE f.title_cat = 'men'
UNION
SELECT distinct(catnam) as catnam, GROUP_CONCAT(sub2id )
FROM tbl_fourth_page_products f INNER JOIN subcategory_level2 s
ON f.brand_id = s.sub2id
WHERE f.title_cat = 'men'
group by catnam
内容总结
以上是互联网集市为您收集整理的DISTINCT关键字在mysql查询中不起作用全部内容,希望文章能够帮你解决DISTINCT关键字在mysql查询中不起作用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。