Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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 - Fatal编程技术网

Sql 获取表中最小项的信息

Sql 获取表中最小项的信息,sql,Sql,表: 书号、标题、作者、库存数量、价格 问题:查找每一数量最便宜的书的标题和价格,即对于每一数量,该数量级别的书的最便宜价格是多少 用SQL编写查询 我做到了: SELECT B.title B.stockQty, MIN(B.price) FROM book B GROUP BY B.stockQty 但它不会显示正确的标题。将仅显示第一本书的标题请尝试以下操作: select b.title ,b.price ,b.stockQty from book b wher

表: 书号、标题、作者、库存数量、价格

问题:查找每一数量最便宜的书的标题和价格,即对于每一数量,该数量级别的书的最便宜价格是多少

用SQL编写查询

我做到了:

SELECT B.title B.stockQty, MIN(B.price)
FROM book B
GROUP BY B.stockQty
但它不会显示正确的标题。将仅显示第一本书的标题

请尝试以下操作:

select b.title
      ,b.price
      ,b.stockQty
from book b
where not exists (select 1
                  from book b2
                  where b2.stockQty = b.stockQty
                  and b2.price<b.price)

在我看来,似乎有类似的书籍收藏,价格不同,所以你需要最便宜的价格。我将使用SELECT DISTINCT


这是一个典型的每组前1名问题。例如,请参阅,以及许多其他内容。为什么同时标记MySQL和Access?你真的在使用这两种产品吗?请不要标记未涉及的产品。但这将返回每本书/价格组合,从低到高订购。@jarlh您可以阅读更多关于SELECT DISTINCT的内容吗,因为您似乎不知道自己在说什么。我想我对SELECT DISTINCT有相当的了解。。。DISTINCT意味着从结果中删除重复的行。因此,在这种情况下,最昂贵的书名也将被退回——这并不是OP真正要求的。
    "SELECT DISTINCT B.title, B.stockQty
    FROM book B
    ORDER BY B.price"