我目前正在使用此查询来选择一些数据:
SELECT DISTINCT a.code AS code, name, max(scen.Is3D) AS Is3D FROM locations LEFT JOIN ...scen表具有列Is3DDate。我只想选择日期IS NOT NULL中的最大项目数。我尝试了max(scen.Is3D WHERE scen.Date IS NOT NULL),但是没有用。我不能在查询中的FROM之后更改任何内容,因此,如果可能的话,我需要在MAX中进行过滤。我正在使用MySQL 5.7。

最佳答案

您可以使用:

MAX(CASE WHEN scen.date IS NOT NULL THEN scen.Is3D END) AS Is3D


当不满足任何CASE条件时,NULL表达式将返回WHEN,但是MAX()会忽略空值,因此这只会返回所选行中Is3D列的最大值。

关于mysql - SQL选择日期不为空的最大列数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51329891/

10-13 02:16