mysql - 如果某列中的值重复,则从设置结果中检索一行
问题描述
如果某些列中有重复项,我想从表中检索一条记录,如下所示:
------------------------
| id | year | number |
| 1 | 2018 | I |
| 1 | 2018 | II |
| 1 | 2017 | I |
| 1 | 2016 | II |
| 2 | 2017 | I |
| 2 | 2017 | II |
| 2 | 2016 | I |
| 2 | 2016 | II |
| 2 | 2015 | II |
------------------------
desired output
------------------------
| id | year | number |
| 1 | 2018 | I |
| 1 | 2017 | I |
| 1 | 2016 | II |
| 2 | 2017 | I |
| 2 | 2016 | I |
| 2 | 2015 | II |
------------------------
我已经用谷歌搜索并尝试了“group by + having”的技巧,并尝试在这些列上创建索引,并结合“插入忽略”但无济于事。有人说这是否可能?
更新:
终于想出了解决方案,我在id
and上创建了索引year
,然后使用“INSERT IGNORE INTO ...”复制了现有表。
解决方案
推荐阅读
- leaflet - 多边形消失
- ruby-on-rails - 如何在rails中的另一个表单中提交表单
- php - PHP Symfony createFormBuilder ::add 类型必须为字符串或 null,给定数组
- r - 如何将许多 .csv 文件合并到 R 中,不包括前三行?
- intellij-idea - IntelliJ Idea:缺少TestNG运行配置
- python - 有没有办法在 tkinter GUI 中动态获取条件输入,而不是从控制台获取它们?
- sql - 如果查询在 sql server 中没有返回任何内容,则插入 NULL
- jenkins - 在 Jenkinsfile 中访问 Jenkins 管道定义
- c++ - 有没有办法过滤掉 Arrow::Array 和一些谓词?
- php - 在 PHP 中检查常量的最佳方法是什么?