mysql - MySQL:仅当指定买家选择了项目时才查找项目的最大出价数
问题描述
MySQL 数据库架构是:
出价(id,买方,金额)
问题是:对于buyerNum 'abc' 出价的每个项目,列出id、对其进行的不同出价的数量(所有用户不仅仅是'abc')和最高价值出价。
我试过的是
SELECT id, COUNT(*), MAX(amount)
FROM Bids
WHERE buyer = "abc"
GROUP BY id
但该计数仅计算“abc”为该项目的 ID 出价的次数。我正在尝试某种连接以使计数超过“buyer =”abc””条件,但我对 MySQL 很陌生,所以我很挣扎。请帮忙!
解决方案
SELECT b.id,
a.total,
MAX(b.amount)
FROM Bids b
LEFT JOIN (select count(*) as total,id from Bids GROUP BY id) a
on b.id = a.id
WHERE buyer = "abc"
GROUP
BY b.id
希望它会正常工作。
推荐阅读
- erlang - 简单的 Elixir / Plug 进程问题 - PID 不存在
- java - 使用 XSLT 3.0 将 JSON 转换为 XML
- pytorch - 在pytorch中采用矩阵行/列的范数
- java - 限制 application.properties 中的可能值
- html - rvest 抓取 html 内容值
- python - 字典/抽认卡问题。从值而不是键开始
- excel - 在excel中找到最小值
- mysql - 从表图像中获取最小值(第一个图像)并加入另一个表中的所有记录的问题
- ios - 如何快速获取对特定网址的查询
- javascript - Eslint 要求解构 array.split()?