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
子句进行更改。哇,这就成功了。非常感谢你抽出时间来帮助我。