佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1184|回复: 13

SQL 很难写……可以帮忙一下吗?

[复制链接]
发表于 24-12-2005 12:45 PM | 显示全部楼层 |阅读模式
我的相关Table Structure

Books (BOOK_ID, BOOK_NAME, ......)
Borrowed Books (*BOOK_ID, *USER_ID, START_DATE, END_DATE, RETURNED)

现在我要找最多人借的书
但是我以下的SQL只能list出每本书有多少个人借了。


  1. SELECT BB.BOOK_ID, B.BOOK_NAME, Count(BB.BOOK_ID) As BOOK_COUNT
  2. FROM [Borrowed Books] BB, Books B
  3. WHERE BB.BOOK_ID = B.BOOK_ID
  4. GROUP BY BB.BOOK_ID, B.BOOK_NAME;
复制代码


我想在Group by后面加Having Max(BOOK_COUNT)但是不行,MS ACCESS XP给我一个Enter Parameter的InputBox,怎么solve?

[ 本帖最后由 V4ndrake 于 24-12-2005 12:48 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 24-12-2005 03:58 PM | 显示全部楼层
SELECT TOP 1 BB.BOOK_ID, B.BOOK_NAME, Count(BB.BOOK_ID) As BOOK_COUNT
FROM [Borrowed Books] BB, Books B
WHERE BB.BOOK_ID = B.BOOK_ID
GROUP BY BB.BOOK_ID, B.BOOK_NAME
ORDER BY Count(BB.BOOK_ID) DESC
回复

使用道具 举报

 楼主| 发表于 25-12-2005 02:15 AM | 显示全部楼层
原帖由 o1j2m3 于 24-12-2005 03:58 PM 发表
SELECT TOP 1 BB.BOOK_ID, B.BOOK_NAME, Count(BB.BOOK_ID) As BOOK_COUNT
FROM [Borrowed Books] BB, Books B
WHERE BB.BOOK_ID = B.BOOK_ID
GROUP BY BB.BOOK_ID, B.BOOK_NAME
ORDER BY Count(BB.BOOK_ID)  DESC


红色的我还是第一次看到
因为等不及,所以我把整个目的改为显示几个比较高借书率的
就是加了青色那段

TOP 1的真的第一次看到,谢了……
回复

使用道具 举报

不恥下問學IT 该用户已被删除
发表于 25-12-2005 01:51 PM | 显示全部楼层
原帖由 o1j2m3 于 24-12-2005 03:58 PM 发表
SELECT TOP 1 BB.BOOK_ID, B.BOOK_NAME, Count(BB.BOOK_ID) As BOOK_COUNT
FROM [Borrowed Books] BB, Books B
WHERE BB.BOOK_ID = B.BOOK_ID
GROUP BY BB.BOOK_ID, B.BOOK_NAME
ORDER BY Count(BB.BOOK_ID)  ...


这个是Microsoft的SQL吗? 好像MySQL 5.0 和 Oracle都支持 Group By Max()
回复

使用道具 举报

 楼主| 发表于 25-12-2005 06:42 PM | 显示全部楼层
Group by max应该可以,但是Group By Max(Count(xxxxx))好像不可以……连Max(Alias)好像也不可以
所以我才这么烦……

呵呵呵

我用MS Access XP的
回复

使用道具 举报

发表于 25-12-2005 09:30 PM | 显示全部楼层
原帖由 V4ndrake 于 25-12-2005 02:15 AM 发表


红色的我还是第一次看到
因为等不及,所以我把整个目的改为显示几个比较高借书率的
就是加了青色那段

TOP 1的真的第一次看到,谢了……


要谢就给钱~~haha

对不起~满肚子水~~要灌水~~haha

帮了人~灌水一贴应该no problem吧?haha
回复

使用道具 举报

Follow Us
 楼主| 发表于 25-12-2005 09:43 PM | 显示全部楼层
原帖由 o1j2m3 于 25-12-2005 09:30 PM 发表


要谢就给钱~~haha

对不起~满肚子水~~要灌水~~haha

帮了人~灌水一贴应该no problem吧?haha


钱?冥纸你收不收?
怎么圣诞节没去wet上佳礼?
回复

使用道具 举报

发表于 25-12-2005 09:46 PM | 显示全部楼层
等着收冥纸~~~然后卖冥纸赚钱
哈哈
回复

使用道具 举报


ADVERTISEMENT

发表于 26-12-2005 03:00 AM | 显示全部楼层
想請問你的book id 是 alphanumeric unique ID 嗎?如果是的話應該要如何 code.謝謝
回复

使用道具 举报

 楼主| 发表于 26-12-2005 04:55 AM | 显示全部楼层
原帖由 ReyesChuah 于 26-12-2005 03:00 AM 发表
想請問你的book id 是 alphanumeric unique ID 嗎?如果是的話應該要如何 code.謝謝


因为时间的关系,我们只能用numeric来做
呵呵呵,后天要交了
现在还在犯一些比较细节的问题……
回复

使用道具 举报

发表于 26-12-2005 08:45 AM | 显示全部楼层
原帖由 ReyesChuah 于 26-12-2005 03:00 AM 发表
想請問你的book id 是 alphanumeric unique ID 嗎?如果是的話應該要如何 code.謝謝


好奇怪的问题。。。code? 还不是一样~
。。。。还是你是他的朋友??
回复

使用道具 举报

 楼主| 发表于 26-12-2005 02:17 PM | 显示全部楼层
原帖由 o1j2m3 于 26-12-2005 08:45 AM 发表


好奇怪的问题。。。code? 还不是一样~
。。。。还是你是他的朋友??


可以说是刚刚才认识
回复

使用道具 举报

发表于 27-12-2005 12:41 AM | 显示全部楼层
原帖由 V4ndrake 于 26-12-2005 04:55 AM 发表


因为时间的关系,我们只能用numeric来做
呵呵呵,后天要交了
现在还在犯一些比较细节的问题……

呵呵,我最近在練習寫 management system,所以就選了個图书馆管理系统来写,而我刚遇到一些瓶颈,也就是alphanumeric unique id,虽然有别的论坛建议我用ISBN,问题是图书馆也会有旧书的,而比较旧的书,是没有ISBN,所以很头痛,也不懂要怎么写,我还是新手嘿,很多东西都不懂,找google也没什么收获。而刚好遇到有人开关于这方面的版就直接问了,所以想问问有人懂吗?

   Dim strcmd As SqlClient.SqlCommand
        Dim ID As Integer
        Dim value As String
        strcon.Open()
        strcmd = New SqlClient.SqlCommand("select isnull(max(" & IDFields & " ),'" & DefaultID & "') from " & tbl, strcon)
        Dim myReader As SqlClient.SqlDataReader = strcmd.ExecuteReader()
        myReader.Read()
        ID = Convert.ToInt32((myReader.GetValue(0).ToString()).Substring(3, 5)) + 1
        myReader.Close()
        value = prefix & ID
        strcon.Close()
当我的数据库里的id 有 A1 是,如果我想要取回 prefix B 的id,它只能回给我B2而不是B1,我知道问题在那里,就是不懂怎么解决。
回复

使用道具 举报

发表于 27-12-2005 07:44 PM | 显示全部楼层
无论如何,我已经解决了, 只需要
strcmd = New SqlClient.SqlCommand("select isnull(max(" & IDFields & " ),'" & DefaultID & "') from books wher ID = '" & DefaultID & "'" , strcon)
浪费了我那么多天
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 11-8-2025 03:47 AM , Processed in 0.154552 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表