Mysql Sql查询未返回最大值

Mysql Sql查询未返回最大值,mysql,Mysql,我编写了以下查询,以获取具有最大问题id的值。但是我得到了图书id 2的问题id 14。我想要的是在图书id为2时获得第16期。并在图书id为3时发布图书id 15,以此类推 SELECT issue.issue_id AS issue_id, issue.issue_date, issue.student_id, books.availability, CASE WHEN NOW() > DATE_ADD(issue.issue_date, INTERVAL 20 DAY)

我编写了以下查询,以获取具有最大问题id的值。但是我得到了图书id 2的问题id 14。我想要的是在图书id为2时获得第16期。并在图书id为3时发布图书id 15,以此类推

SELECT issue.issue_id AS issue_id, issue.issue_date, issue.student_id, books.availability,
    CASE WHEN NOW() > DATE_ADD(issue.issue_date, INTERVAL 20 DAY)
        THEN 10*DATEDIFF(NOW(), DATE_ADD(issue.issue_date, INTERVAL 20 DAY))
        ELSE 0 END AS fine_amount
        FROM issue
        INNER JOIN books
        ON issue.book_id=books.book_id
        WHERE books.book_id=2 
        HAVING MAX(issue.issue_id)

按…使用订单。。限制1以获得最高值

SELECT issue.issue_id AS issue_id, issue.issue_date, issue.student_id, books.availability,
    CASE WHEN NOW() > DATE_ADD(issue.issue_date, INTERVAL 20 DAY)
        THEN 10*DATEDIFF(NOW(), DATE_ADD(issue.issue_date, INTERVAL 20 DAY))
        ELSE 0 END AS fine_amount
        FROM issue
        INNER JOIN books
        ON issue.book_id=books.book_id
        WHERE books.book_id=2 
        ORDER BY issue.issue_id DESC LIMIT 1

Sql MAX示例,其中
具有
WHERE
请参见。反向比较会更有效