SQL:选择列值至少出现两次的行?

时间:2018-03-26 05:32:41

标签: mysql sql database database-design

这是我正在使用的数据库:https://ufile.io/72wph

Academics数据库的关系模式如下:

DEPARTMENT( deptnum , descrip, instname, deptname, state, postcode)

ACADEMIC( acnum , deptnum*, famname, givename, initials, title)

PAPER( panum , title)

AUTHOR( panum*, acnum* )

FIELD( fieldnum , id, title)

INTEREST( fieldnum*, acnum* , descrip)

关于Academics数据库的一些注释:

●学术部门属于一个机构(instname),通常有很多学者。学者只适用于一个部门。

●研究论文(PAPER)通常由几位学者撰写,当然一位学者经常写几篇论文(AUTHOR)。

●研究领域(FIELD)经常吸引许多学者,学术界可以在几个研究领域中有兴趣(INTEREST)。

根据这些信息,我必须列出至少有两位作者的论文。

我不确定我是否应该使用学术表加入AUTHOR表,还是只有AUTHOR表可以做到这一点?

1 个答案:

答案 0 :(得分:1)

除非我遗漏了某些内容,否则我认为您可以单独使用SELECT panum FROM AUTHOR GROUP BY panum HAVING COUNT(*) >= 2; 表单上的一个查询来回答您的问题:

driver.findElement(By.xpath("//span[text()='Log in']")).click();

不需要加入学术表,因为该表只包含每位作者的元数据,但与论文无关。