mysql - 数据库行之间的相互关系

标签 mysql database database-design

有一个文章表,其中字段为“article_id、title、year_published”。表中数据:

------------------------------------
article_id | title | year_published
------------------------------------ 
1|Mechanical Code|2012 
2|Mechanical Code|2015 
3|Contruction Workshop|2010 
4|Contruction Workshop|2012 
5|Contruction Workshop|2013 
6|Administrative Session I|2012 
7|Administrative Session II|2014 
8|Administrative Session III|2015

我需要找出多年来存在的同一篇文章。

我已查询数据库以获取按计数超过 1 的标题分组的结果。

select title, count(*) as total from articles group by articles having total > 1;

但问题是标题名称可能不同,并且同一篇文章有​​不同的版本。查看第 6-8 行及以上查询将不会获得管理 session 。

如何处理这种关系?

最佳答案

例如,您可以添加另一个整数类型的字段“articletype”,并将管理 session I、管理 session II 和管理 session III 设置为相同的文章类型。

--------------------------------------------------
article_id | title | year_published| articletype
--------------------------------------------------
1|Mechanical Code|2012|1
2|Mechanical Code|2015|1
3|Contruction Workshop|2010|2
4|Contruction Workshop|2012|2
5|Contruction Workshop|2013|2
6|Administrative Session I|2012|3
7|Administrative Session II|2014|3
8|Administrative Session III|2015|3

SQL 应该是这样的:

select title, count(*) as total from articles group by articletype  having total > 1;

关于mysql - 数据库行之间的相互关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32350853/

相关文章:

php - 如何在WordPress的wp-db文件中设置mysql_query ('set Names utf8')

mysql - 我的第一个存储过程出错 - 救命!

c# - 使用 LINQ 进行 JOIN 和 Sum

sql-server - 支持多个客户端的数据库设计

mysql - 从连接中选择所有用户的最后 5 个位置

ios - 在 iOS 上处理不稳定数据的最佳方式

mysql - 从 MySQL 表中选择不存在关系的所有行作为空单元格

database - 我们未能按自定义安装尝试数据库。计划恢复?

database-design - 数据库设计: multiple potential identifiers

联系表单的 Mysql 设置