在SQL表中我需要列:book_id和author_id。
每个都是一组独特的价值观。如果我在此表中select *
,我可能会得到一些值
作者ID重复几个不同的书ID,如:
book_id author_id
| 1627 | W3145 |
| 1628 | W3145 |
| 1629 | W3145 |
| 1630 | W3145 |
我想要做的是选择所有使用完全子查询重复多次的作者ID。
所以每当author_id>的计数时对于每个这样的ID组,我可以获得此作者ID。
(请不要提供任何不包含子查询的建议或评论。)
答案 0 :(得分:0)
选择author_id (选择来自mytable group by author_id的count(book_id))作为booksPerAuthor 来自mytable 其中booksPerAuthor> 1;
答案 1 :(得分:0)
SELECT
author_id
,count(book_id)
FROM
table_name
WHERE
count(book_id) > 1
GROUP BY
author_id
SELECT DISTINCT
t.author_id
FROM
table_name t
WHERE
(SELECT count(subT.book_id) from table_name subT where subT.author_id = t.author_id) > 1
我不知道我是怎么写的:O