0

我有一张叫做 PURCAHSE 的桌子

它包含

PurchaseNo
ReceiptNo
ServiceType
PaymentType
GST
Amount
ServedBy
ClientNo

每个收据都来自一本书,该书由收据编号的第一个数字标识,例如 444555 来自书号 444

我想查找购买次数,但前提是从同一收据簿中至少有 10 次其他购买。

我知道我将不得不使用 COUNT 聚合。我认为我需要走的方式,对于 PURCHASE 中的每次购买 P,我需要检查所有其他购买并找到与 P 的 ReceiptNo 相同的 3 位数字。

我怎样才能做到这一点?我不确定语法

预期的输出应该是

预期输出将是一个整数,即与收据编号具有相同前 3 位数字的购买数量

如果您需要更多详细信息,请发表评论

谢谢

4

2 回答 2

0

尝试:

select trunc(ReceiptNo/1000) BookNumber, count(distinct PurchaseNo) NumPurchases
from PURCHASE
group by trunc(ReceiptNo/1000)
having count(distinct PurchaseNo) >= 10
order by 1
于 2013-05-18T07:07:43.990 回答
0

如果你是 INFS2200 的学生,你不能用group byplushaving来做 task4.1。如果这样做,您将看到 task4.2 中未使用索引。尝试不使用该group by子句并改用子查询。

于 2019-10-03T11:01:38.250 回答