2010-12-01 6 views
0

私が作成したプリントの総数に基づいて、CCごとに上位10人のユーザーを取得する必要があります。MYSQLロケーションごとに上位10人のユーザーを照会します

階層は、この

  1. ビジネスユニット
  2. コストセンター
  3. ユーザー

それは、多くの関係にある1のように見えます。

テーブルは次のようになります。

Business Unit 
'id', name, bu_no 

Cost Center 
'id', bu_id, name 

User 
'id', username, fullname, email, total_prints 

これはExcelで現在ですが、私は、MySQLにデータを取得します。

コストセンターごとに上位10人のユーザー(ほとんどのプリント)を表示するには、MySQLクエリを検索する必要があります。

ご協力いただければ幸いです。ありがとう

+0

ここでは、[mysql]および[[group-n-per-group]]というタグを検索することで、StackOverflowでうまく答えられるはずです。 –

+1

http://frishit.com/2010/07/mysql-selecting-top-n-per-group/ –

+1

ユーザは他のテーブルにどのように接続していますか?何が彼らにxプリントとCC 1とyプリントがCC 2であることを伝えますか?あなたのユーザーテーブルが島のように見えます。 – Matthew

答えて

0

降順で並べ替えると一番上に印刷され、LIMIT 10では上位10個のレコードのみが選択されます。

ここで私が何を話しているかを示すコードサンプルです。

SELECT * FROM User WHERE User.Id = Cost_Center.Id ORDER By total_prints DESC LIMIT 10; 
関連する問題