简体   繁体   English

SQL查询未返回最大值

[英]Sql query not returning max value

这是我正在使用的数据库 I have written the following query to get the value with the max issue_id. 我编写了以下查询,以获取具有最大issue_id的值。 But I get the issue_id 14 for book_id 2. What I want is to get issue_id 16 when book_id is 2. And issue_id 15 when book_id is 3 and so on. 但是我获得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)

Use the ORDER BY .. LIMIT 1 to get the highest value 使用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