运行mySQL语句不会返回任何结果

时间:2019-09-28 19:33:14

标签: mysql

因此,我正在为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

2 个答案:

答案 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
相关问题