2011-12-29 4 views
0

仮定: 今年チェックアウトされた本のID、学生ID、日付を保持するテーブルが1つあります。OpenOfficeまたはMS 97またはMySQLでも単一の基準を満たすヒット件数

どのように各生徒がチェックアウトした本の数を数えることができますか?

私は現在、+ 4000人の学生と+60000のチェックアウトを持っています。

これらの情報はすべてMySQLサーバーに保存されており、この情報を持つOpen Office Calcテーブルがあります。 ACCESS97もインストールされているので、私はこれを行うためにいくつかのVBAコードを使うことができると思います。

私がこれを行うと考えることができる唯一の方法は、すべてのものを数え、特定の条件を満たすものをコピーするために、Accessで巨大なLOOPステートメントを作成することです。

しかし、私はかなり簡単にこのタスクを行うAccess経由でいくつかのSQLコマンドを使用することができます確信しています。

答えて

1

Accessで、このSQLコマンドを試してみてください。

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

恐ろしい!私が知っておくべきSQL関数のヒント?私が読んだチュートリアルはこのようなことには触れませんでした。私はAVERAGE、COUN、MIM、MAX、その他の種類の関数があることに気づきました。 –

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

アクセスは言う: '数の構文エラー(個別のbook_id') –

+0

ああ、それはアクセス:)には分からないのは、MySQLで動作するはずです。アクセスの場合、別個のものを削除することができます。それは学生が同じ本を何度も読んでいた場合です。 –

関連する問題