簡體   English   中英

SQL查詢未返回最大值

[英]Sql query not returning max value

這是我正在使用的數據庫 我編寫了以下查詢,以獲取具有最大issue_id的值。 但是我獲得book_id 2的issue_id14。我想要的是在book_id為2時獲得iss​​ue_id16。在book_id為3時獲得iss​​ue_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)

使用ORDER BY .. LIMIT 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM