MySQL语句。如何在所有行都等于null的查询中跳过行

MySQL语句。如何在所有行都等于null的查询中跳过行,mysql,sql,select,pivot,where-clause,Mysql,Sql,Select,Pivot,Where Clause,我创建了一个查询,用以下代码构造一个表: SELECT Date, SUM(CASE WHEN UniqueId = 'NonComLong' THEN Value ELSE NULL END) AS 'NonComLong', SUM(CASE WHEN UniqueId = 'NonComShort' THEN Value ELSE NULL END) AS 'NonComShort', SUM(CASE WHEN UniqueId = 'NonComNet

我创建了一个查询,用以下代码构造一个表:

SELECT Date, 
    SUM(CASE WHEN UniqueId = 'NonComLong' THEN Value ELSE NULL END) AS 'NonComLong',
    SUM(CASE WHEN UniqueId = 'NonComShort' THEN Value ELSE NULL END) AS 'NonComShort',
        SUM(CASE WHEN UniqueId = 'NonComNetLong' THEN Value ELSE NULL END) AS 'NonComNetLong',
        SUM(CASE WHEN UniqueId = 'NonComPos' THEN Value ELSE NULL END) AS 'NonComPos',
        SUM(CASE WHEN UniqueId = 'TotalPositions' THEN Value ELSE NULL END) AS 'TotalPositions',
        SUM(CASE WHEN UniqueId = 'NonComPosShare' THEN Value ELSE NULL END) AS 'NonComPosShare'
FROM fundamental_data WHERE AttributeId = 160 AND Date >= '2011-06-14'
GROUP BY Date
ORDER BY Date; 
上述代码返回下表:

我想写一篇文章,如果除date列之外的所有列都返回NULL,我可以跳过一行。可能吗


提前谢谢

假设列
value
null
可启用,您可以向
WHERE
子句添加另一个条件,以确保至少满足聚合函数中的一个条件:

SELECT ...
FROM fundamental_data 
WHERE 
    AttributeId = 160 
    AND Date >= '2011-06-14'
    AND UniqueId IN (
        'NonComLong',
        'NonComShort',
        'NonComNetLong',
        'NonComPos',
        'TotalPositions',
        'NonComPosShare'
    )
如果
value
可能为
null
,则只需添加另一个条件:

WHERE
    ...
    AND value IS NOT NULL

那么您想查询包含完整数据的行吗?请参阅:正如我前面所述,我请求帮助尝试跳过MySQL返回null的行。因此,是的,我想查询包含完整数据的行。但是如何使用该方法为单独的UniqueId创建单独的列呢?@Spedtsberg:youcan可以保持您的
SELECT
groupby
子句现在的状态。我只是建议对
WHERE
子句进行更改。哇,这就成功了。非常感谢你抽出时间来帮助我。