Sql 获取表中最小项的信息
表: 书号、标题、作者、库存数量、价格 问题:查找每一数量最便宜的书的标题和价格,即对于每一数量,该数量级别的书的最便宜价格是多少 用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
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"