mysql - 基于一个元素的查询

标签 mysql sql

我得到了以下数据库架构

Cows (cowID, cowName, cowAge)
CowPurchaser (purchaserID, name, address)
PurchaseRecord (purchaserID, cowID, year)

每年,奶牛购买者“FARMLAND”至少购买一头奶牛,求出购买的奶牛数量。输出为元组集合,表示“FARMLAND”购买的牛的年份和数量

我不知道如何解决这个问题。我试过了

SELECT (pr.year, COUNT(c.name))
FROM PurchaseRecord pr, CowPurchaser cp, Cows c
WHERE cp.name = "FARMLAND" AND COUNT(c.name) >= 1

这没有给出我想要的结果。我可能做错了什么?我该如何修复它?

最佳答案

SELECT pr.year, COUNT(c.name)
FROM PurchaseRecord pr
     INNER JOIN CowPurchaser cp ON pr.purchaserID=cp.purchaserID
     INNER JOIN Cows c ON pr.cowID=c.cowID
WHERE cp.name = "FARMLAND" 
GROUP BY pr.year
HAVING COUNT(c.name) >= 1

关于mysql - 基于一个元素的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34918816/

相关文章:

mysql - On Duplicate Key Update 不会更新,但会抛出重复项错误

mysql - 为什么服务器上的 my.cnf 文件不完整或条目很少?

sql - 当添加的列较少时,追加到现有的SQLite表,而无需将数据库读入R

sql - Spring 启动和 hibernate : update all column's rows where entry is null

python - SQLite 值错误 : parameters are of unsupported type

mysql - Grails - 引导测试数据失败

php - 如何将两个选择查询合并到一个查询中

mysql - 查找以 SearchString 开头的值

java - Android - SQlite - 将空值存储到双字段中?

php - MySql 语法错误 - 列的名称有数字