在循环中调用MySQL函数

时间:2014-12-12 17:10:07

标签: mysql

我有一个查询

SELECT DISTINCT assetID, assetName FROM table1;

现在让我说5行回来

assetID   assetName 
 101       Name1 
 102       Name2
 103       Name1 
 104       Name1 
 105       Name1 

现在,我有一个名为GetHealthStatus(INT assetID)的mysql函数,它根据资产的运行状况返回0或1,现在如何在循环中调用该函数,以便我得到这种格式的结果

AssetID assetName   Health
 101       Name1     1
 102       Name2     0
 103       Name1     1 
 104       Name1     1
 105       Name1     1

2 个答案:

答案 0 :(得分:3)

您可以直接从查询中调用函数执行,如下所示:

   select AssetId, assetName, GetHealthStatus(AssetId) from table1

答案 1 :(得分:0)

SELECT assetID, GetHealthStatus(assetID) FROM table1;

如果您确实需要DISTINCT对数据进行分组,那么:

SELECT assetID, GETHealthStatus(assedID) from (SELECT DISTINCT assetID, assetName FROM table1);