mysql查询到多个列

时间:2014-02-20 16:23:11

标签: mysql sql database

我有一个包含100列的表格。

碰巧我希望查询只显示“value<> 0”的列

因此不应显示val = 0的列。

任何人都可以帮忙解决这个问题。

2 个答案:

答案 0 :(得分:1)

您可以进行如下查询:

SELECT FLOOR(SUM(IF(column1 IN (0),0,1))/COUNT(*)),FLOOR(SUM(IF(column2 IN (0),0,1))/COUNT(*)),...,FLOOR(SUM(IF(column100 IN (0),0,1))/COUNT(*)) FROM table_name

如果列包含0,这将为您提供列值为0的行,如果列不包含0,则为1。

答案 1 :(得分:1)

您无法调整返回的列数。这是由投影(您的SELECT块)定义的,并且针对表架构评估投影。您应该知道要在投影中返回的列数和类型。

正如之前的用户所提到的,您可以使用函数或case语句来更改列中的值,或者,您可以限制使用WHERE子句返回的行(如果某些值或值是<> 0,例如)。

返回的生成投影表的模式必须是静态的。