例如
如果我有一个名为 students 的表,它有 4 个字段 id、fname、lname 和 dob(出生日期)我如何检索所有生日相同的学生的名字(不询问特定的出生日期)以及他们分享的日期?
id int primary key not null and auto_increment
fname 和lname 都是varchar
dob 是约会对象
id fname lname dob
1. Nick Tailor 1993-04-27
2. Mary White 1987-11-13
3. Helen Wilde 1993-04-27
4. George Bishop 1981-02-29
5. John Walker 1981-02-29
6. Vincent Valentine 1981-02-29
结果是
fname lname dob
Nick Tailor 1993-04-27
Helen Wilde 1993-04-27
George Bishop 1981-02-29
John Walker 1981-02-29
Vincent Valentine 1981-02-29
Mary 没有在任何地方显示,因为她没有与表中的任何人共享 dob。
最佳答案
希望对你有帮助
SELECT fname, lname, dob
FROM students
WHERE dob IN (SELECT dob FROM students GROUP BY dob HAVING count(*) > 1);
确保检查 dob 列的数据库配置,在我这边运行查询以测试它是否有效时,我得到了一个日期错误,因为 1981 年没有 2 月 29 日:D
关于mysql - 如何获取表中在特定字段上共享值的所有行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47618841/