2011-12-29 44 views
0

假設: 我有一張表,用於保存今年簽出的每本圖書的書籍ID,學生ID和日期。符合OpenOffice或MS 97或甚至MySQL下的單個標準的匹配數量

如何計算每個學生已經簽出的書的數量?

我目前有+4000名學生和+60000簽出。

所有這些信息都存儲在MySQL服務器上,並且我有一個Open Office Calc表格和這些信息。我也安裝了ACCESS97,所以我想我可以使用一些VBA代碼來做到這一點。

我能想到這樣做的唯一方法是用Access製作巨大的LOOP語句來計算所有內容並複製符合特定條件的任何內容。

但我敢肯定,我可以通過Access使用一些SQL命令,使這項任務更快一點。

回答

1

在訪問試試這個SQL命令:

SELECT student_id, count(book_id) AS num_of_books 
FROM myTable 
GROUP BY student_id 
+0

太棒了!關於SQL函數的任何提示我應該知道?我讀過的教程沒有涉及這種事情,我只是意識到有AVERAGE,COUN,MIM,MAX和其他類型的功能。 – 2011-12-29 14:50:50

2
select 
    student_id, 
    count(distinct book_id) number_of_books 
from 
    your_table 
group by student_id 
+0

訪問說: '對數語法錯誤(不同book_id)' – 2011-12-29 14:49:30

+0

哦,那應該在MySQL的工作,不知道在訪問:)。對於Access,您可以刪除不同的。那是一個學生多次閱讀同一本書的情況。 – 2011-12-29 14:51:29