Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL选择两个日期之间重复次数最多的行_Sql_Ms Access - Fatal编程技术网

SQL选择两个日期之间重复次数最多的行

SQL选择两个日期之间重复次数最多的行,sql,ms-access,Sql,Ms Access,我有三张桌子:借书台和客户台 书籍(Id、标题等) 借方(BookID、客户ID、借款日期等) 客户机(Id、名称等) 我需要返回的SQL查询 在两个日期之间被出租的书。 日期将作为参数传递给查询。这如何 SELECT * FROM Books INNER JOIN Debit ON Books.Id = Debit.BooksID WHERE BorrowingDate >= @StartDate AND BorrowingDate <= @EndDate SELECT*FROM

我有三张桌子:借书台和客户台

  • 书籍(Id、标题等)
  • 借方(BookID、客户ID、借款日期等)
  • 客户机(Id、名称等)
  • 我需要返回的SQL查询 在两个日期之间被出租的书。 日期将作为参数传递给查询。

    这如何

    SELECT * FROM Books INNER JOIN Debit ON Books.Id = Debit.BooksID WHERE BorrowingDate >= @StartDate AND BorrowingDate <= @EndDate
    
    SELECT*FROM Books internal JOIN Debit ON Books.Id=Debit.BooksID其中brookingdate>=@StartDate和brookingdate=@StartDate和brookingdate查询

    SELECT TOP 1 *
    FROM (
        SELECT BooksID, COUNT(*) AS C
        FROM Debit
        WHERE BorrowingDate BETWEEN @min_date and @max_date
        GROUP BY BooksID
    )
    ORDER BY C DESC
    
    …将生成一行,其中包含
    图书ID
    和在
    @min\u date
    @max\u date
    之间租赁次数最多的图书的租金数


    如果您需要的不仅仅是
    BooksID

    ,而且您还尝试了什么?+1因为尽管我们得出了几乎相同的答案,但您已经向我介绍了
    介于
    之间的操作员!这正是我想要的。非常感谢你。
    
    SELECT TOP 1 *
    FROM (
        SELECT BooksID, COUNT(*) AS C
        FROM Debit
        WHERE BorrowingDate BETWEEN @min_date and @max_date
        GROUP BY BooksID
    )
    ORDER BY C DESC