我怎样才能获得借阅最多的书籍?

时间:2012-02-28 03:21:38

标签: mysql

我会直言不讳。我的数据库是这样的

每本书都存储在reading_materials中,每本书都有自己独特的入藏号,无论它有多少副本(忽略字段名称'Copies')。当学生或人员借书时,数据被插入借阅表。我现在的问题是,如何在借阅桌上获得借阅最多的书籍。

有人可以帮我吗?

我的数据库是这样的:

Trans_ID PRIMARY KEY
A_Accession_No FOREIGN KEY references reading_materials(Accession_No)
B_Student_No
DateBorrowed
DateReturned
Penalty

reading_materials

Accession_No PRIMARY KEY
Date_acquired
Title
Copyright
Available

BOOK_AUTHOR

B_Accesion_No FOREIGN KEY references reading_materials('Accession_No')
Author_ID FOREIGN KEY references author(Author_ID)

作者

Author_ID PRIMARY KEY
Name

*我为我糟糕的英语道歉,如果你有些人不会发现这不太清楚

2 个答案:

答案 0 :(得分:0)

SELECT *,COUNT(SELECT Trans_ID WHERE A_Accession_NO = Accession_NO)AS BorrowedCount FROM reading_materials ORDER BY BorrowedCount DESC

该查询应该按降序为您提供借阅最多的书籍,并告诉您每个借书的次数。

答案 1 :(得分:0)

试试这个:

SELECT a.Accession_No, a.Title, COUNT(b.a_accession_NO) as NoOfTimesBorrowed
FROM Reading_Materials a LEFT JOIN borrow b ON a.accession_No = b.a_accession_NO
GROUP BY a.Accession_No
ORDER BY NoOfTimesBorrowed DESC
LIMIT 5

这将选择TOP 5并从借阅最多的书中排序。