求读取数据库显示最多 sql语句

来源:百度知道 编辑:UC知道 时间:2024/06/05 11:57:59
有个评论表 comments

ID bookID userID commentTime content
1 50 3 2009/7/4 好书
2 14 4 2009/8/24 11:15:39 aaaa
3 14 4 2009/8/24 11:15:51 aaa
4 683 5 2009/8/25 8:30:20 asdads
5 683 5 2009/8/26 8:32:03 sadasd
6 683 5 2009/8/28 8:24:47 asdasd
7 683 5 2009/8/31 10:53:55 a
10 683 5 2009/9/1 10:06:32 gg
11 683 5 2009/9/1 10:27:14 l llll
12 683 5 2009/9/1 10:27:18 llllllllllllll

我现在想查询 在这个表中获得评论最多的一个bookID
最好是能直接写在Java Eclipse里面的语句sql="什么什么的";
数据库是 access的

sql="select top 1 bookid,count(*) as 评论数量 from comments group by bookid order by count(*) desc"

这个要先连接数据库,然后写sql语句就行了.
Connection con;
Statement sql;
ResultSet rs; //rs 是游标
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e){}
try{con=DriverManager.getConnection("jdbc:odbc:数据源名","数据库名","数据库密码");
sql=con.createStatement();
rs=sql.executeQuery("在这里写sql语句就可以了")}
上面的我就写到在JAVA里写sql语句的那块..自己写的,汗 - -
还有就是我看你的表里涉及不到评论数量的内容啊,
如果你的意思是content这项可以有多个评论的话,
我印象可以用count(*)统计content的数量,然后用max()判断出评论最多的,在输出相应的书号!
希望能帮到你!

select BOOKID, MAX(CONTENT) from(select BOOKID, count(content) as content from comments group BOOKID) group by BOOKID