因此,我正在为mysql类做作业,并且很难理解为什么我的代码不带任何数据,它可以运行,但是当我知道存在符合条件的数据时什么也不返回。请帮忙。这是我的代码:
SELECT vendor_id
, SUM(invoice_total) AS invoice_gt
, AVG(invoice_total) AS invoice_avg
, COUNT(invoice_id) AS invoice_qty
FROM invoices
WHERE "invoice_avg" > 300
GROUP
BY vendor_id
ORDER
BY "invoice_avg" DESC
答案 0 :(得分:0)
删除引号并尝试
USE ap;
SELECT vendor_id, SUM(invoice_total) AS invoice_gt, AVG(invoice_total) AS
invoice_avg, COUNT(invoice_id) AS invoice_qty
FROM invoices
WHERE invoice_avg > 300
GROUP BY vendor_id
ORDER BY invoice_avg DESC
答案 1 :(得分:0)
您不能在WHERE子句中使用聚合列。
在HAVING子句中使用它,该子句在SELECT语句之后求值:
SELECT vendor_id, SUM(invoice_total) AS invoice_gt, AVG(invoice_total) AS invoice_avg, COUNT(invoice_id) AS invoice_qty
FROM invoices
GROUP BY vendor_id
HAVING invoice_avg > 300
ORDER BY invoice_avg DESC