如何在SQL中从图书馆查看大多数书籍的读者ID?

时间:2016-12-19 19:59:48

标签: mysql sql sorting

我正在尝试在数据库中进行查询以获取最多检出书籍的reader_id。这是我的表:

-----------------------------------------------------
| checkoutID | bookID | readerID | date_checked_out | 
-----------------------------------------------------
|     1      |    1   |     1    |    01/01/2016    |
-----------------------------------------------------
|     2      |    3   |     1    |    01/01/2016    |
-----------------------------------------------------
|     3      |   15   |     2    |    01/03/2016    |
-----------------------------------------------------
|     4      |   12   |     1    |    01/04/2016    |
-----------------------------------------------------
|     5      |    3   |     3    |    01/05/2016    |
-----------------------------------------------------
|     6      |   30   |     3    |    01/06/2016    |
-----------------------------------------------------
|     7      |    5   |     2    |    01/08/2016    |
-----------------------------------------------------
|     8      |    2   |     2    |    01/08/2016    |
-----------------------------------------------------
|     9      |    1   |     3    |    01/08/2016    | 
-----------------------------------------------------
|    10      |   33   |     3    |    01/19/2016    | 
-----------------------------------------------------

所以我的问题是我如何能够获得总共检出大部分书籍的读者ID。因此,通过使用readerID计算结帐时的总行数,如何获得大多数结帐的readerID?

在这种情况下,我应该得到readerID = 3这是我正在寻找的答案。有人能告诉我怎么做吗?我从来没有做过这样的查询,所以我在问!

谢谢

1 个答案:

答案 0 :(得分:5)

只需执行GROUP BY并获得最高COUNT()的结果:

SELECT readerID
  FROM tbl
 GROUP BY readerID
 ORDER BY COUNT(*) DESC
 LIMIT 1;