【问题标题】:mysql unable to display repeated entries in the viewmysql无法在视图中显示重复的条目
【发布时间】:2019-11-24 19:42:32
【问题描述】:

maria 数据库中有下表

我正在寻找以下输出作为视图

我尝试了不同的方法,但都不起作用。

【问题讨论】:

  • MySQL 还是 MariaDB?它是哪一个?提供有关您的环境、场景和问题的实际、具体、有用的详细信息。 “它不起作用”是不可接受的。
  • 考虑处理应用代码中数据显示的问题

标签: mysql mariadb


【解决方案1】:

使用group_concat() 聚合id 并对表进行自连接:

select t.id, t.name, 
  group_concat(tt.id order by tt.id) repeated
from tablename t left join tablename tt
on tt.name = t.name and tt.id <> t.id
group by t.id, t.name                             
order by t.id

请参阅demo
结果:

| id  | name  | repeated |
| --- | ----- | -------- |
| 1   | John  | 4,8      |
| 2   | Smith | 3        |
| 3   | Smith | 2        |
| 4   | John  | 1,8      |
| 5   | Anna  |          |
| 6   | David | 7        |
| 7   | David | 6        |
| 8   | John  | 1,4      |

【讨论】:

  • 如果您的数据也很大而不是 t.name 我使用 concat 来匹配 3 个列,这似乎不是一个好的查询
  • 此代码回答了您发布的问题。如果您有新要求,可以提出新问题。
  • 刚刚分享了新帖子:stackoverflow.com/questions/59023919/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多