我正在尝试在数据库中进行查询以获取最多检出书籍的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
这是我正在寻找的答案。有人能告诉我怎么做吗?我从来没有做过这样的查询,所以我在问!
谢谢
答案 0 :(得分:5)
只需执行GROUP BY
并获得最高COUNT()
的结果:
SELECT readerID
FROM tbl
GROUP BY readerID
ORDER BY COUNT(*) DESC
LIMIT 1;