MySQL – 选择所有列WHERE一列是DISTINCT
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL – 选择所有列WHERE一列是DISTINCT,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1261字,纯文字阅读大概需要2分钟。
内容图文
![MySQL – 选择所有列WHERE一列是DISTINCT](/upload/InfoBanner/zyjiaocheng/890/aed2c45e125a4ab38171d575097871b1.jpg)
如果问题看起来太基础,我很抱歉.
我已经浏览了整个互联网和StackOverflow以获得完整的解决方案,并没有找到任何我能理解的内容,也无法自己编写,所以不得不在这里问一下.
我有一个MySQL数据库.
它有一个名为“已发布”的表.
它有8列.
我需要输出这个结果:
SELECT DISTINCT link FROM posted WHERE ad='$key' ORDER BY day, month
但我不仅需要“链接”列,还需要此行的其他列.
对于使用此查询返回的每一行,我还需要知道表中的“id”,“day”和“month”值等.
请告诉我应该阅读什么,或如何制作它.
请保持尽可能简单,因为我不是MySQL的专家.
编辑:
我试过这个:
SELECT DISTINCT link,id,day,month FROM posted WHERE ad='$key' ORDER BY day, month
它不起作用.它返回太多行.假设有10行具有相同的链接,但不同的日/月/ ID.这个脚本将返回全部10个,我只想要第一个(对于这个链接).
解决方法:
问题来自于本能地相信DISTINCT是列的局部预修改器.
因此,你“应该”能够打字
XXbadXX SELECT col1,DISTINCT col2 FROM mytable XXbadXX
并让它返回col2的唯一值.可悲的是没有. DISTINCT实际上是SELECT的全局后置修饰符,也就是说,与SELECT ALL(返回所有答案)相反,它是SELECT DISTINCT(返回所有唯一答案).因此,单个DISTINCT会对您提供的所有列执行操作.
这使得在单个列上使用DISTINCT变得非常困难,同时获取其他列,而不会执行非常难看的后期翻转.
正确的答案是在要获得唯一答案的列上使用GROUP BY:SELECT col1,col2 FROM mytable GROUP BY col2将为您提供任意唯一的col2行及其col1数据.
内容总结
以上是互联网集市为您收集整理的MySQL – 选择所有列WHERE一列是DISTINCT全部内容,希望文章能够帮你解决MySQL – 选择所有列WHERE一列是DISTINCT所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。