当我执行以下代码时,我在MYSQL中收到截断错误的INTEGER值错误。我知道逻辑没有太大意义,而且会改变,而我对错误更乐于接受。我尝试转换整个case语句,但仍然收到相同的错误消息。

这是原始声明

选择
(count(v.SalesDate = v.SalesDate然后v.Surname结尾的情况))x
来自finaljoinalldata v
按日期分组(v.SalesDate)
按日期排序(v.SalesDate);

我也尝试过

选择
(count(CAST(v.SalesDate = v.SalesDate然后v.Surname结尾的情况)AS SIGNED))作为x
来自finaljoinalldata v
按日期分组(v.SalesDate)
按日期排序(v.SalesDate);

任何帮助将不胜感激。
谢谢

最佳答案

您的陈述没有道理。为什么仍然有case条件?这是多余的-除非您专门检查NULL值。

这应该工作:

select count(v.Surname) as x
from finaljoinalldata v
group by date(v.SalesDate)
order by date(v.SalesDate);


当我看到group by并且group by列不在select中时,我很怀疑。

10-05 23:04