select YEAR(I.INV_DATE), SUM(LINE_UNITS * LINE_PRICE) as total from >-6ren">
gpt4 book ai didi

mysql - "WHERE"在 mySQL 语句中不起作用

转载 作者:行者123 更新时间:2023-11-29 08:12:14 24 4
gpt4 key购买 nike

此处的 mySQL 语句尝试按年份打印发票总金额。

> select YEAR(I.INV_DATE), SUM(LINE_UNITS * LINE_PRICE) as total    from
> INVOICE I, LINE L where I.INV_NUMBER = L.INV_NUMBER group by 1

但如果我添加类似内容(仅打印当年大于 500 的内容)

> select YEAR(I.INV_DATE), SUM(LINE_UNITS * LINE_PRICE) as total    from
> INVOICE I, LINE L where I.INV_NUMBER = L.INV_NUMBER group by 1
> where total > 500

给我错误消息:语法错误

我做错了什么?谢谢!!

最佳答案

使用HAVING而不是WHERE

SELECT....
FROM ...
GROUP BY ...
HAVING SUM(LINE_UNITS * LINE_PRICE) > 500

或者您可以将其包装在这样的子查询中,

SELECT *
FROM
(
SELECT YEAR(I.INV_DATE), SUM(LINE_UNITS * LINE_PRICE) as total
FROM INVOICE I, LINE L
WHERE I.INV_NUMBER = L.INV_NUMBER
GROUP BY 1
) a
WHERE total > 500

关于mysql - "WHERE"在 mySQL 语句中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21348044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com