我正在尝试在数据库中进行查询以获取最多检查过书籍的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 |
-----------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
所以我的问题是我如何能够获得总共检查过大多数书籍的readerID.因此,通过使用readerID计算结帐时的总行数,如何获得大多数结帐的readerID?
在这种情况下,我应该得到readerID = 3我正在寻找的答案.有人能告诉我怎么做吗?我从来没有做过这种查询,所以我在问!
谢谢
只需做一个GROUP BY并获得最高的结果COUNT():
SELECT readerID
FROM tbl
GROUP BY readerID
ORDER BY COUNT(*) DESC
LIMIT 1;
Run Code Online (Sandbox Code Playgroud)