2016-12-02 46 views
0

我有一个mysql表,列名为packageId,通过NodeJs运行。我试图检索该行的最高实例。例如,如果列有2,3,4,5,它应该只检索5.检索列的最大值mysql

我试图使用MySQL函数MAX查询,但查询似乎并没有运行。如果我删除了MAX函数,它会运行并只是安慰每个列值。我只想返回最高的单个值。

connectionSelectPackageId.connect(); 

let sqlSelectPackageId = "SELECT MAX(packageId) FROM recipients"; 

connectionSelectPackageId.query(sqlSelectPackageId, function(err, rows, fields) { 
    if (!err) { 
     console.log(rows); 
     console.log(rows[i]); 
     console.log("package id" + rows[i].packageId); 
    }; 
}); 
+1

您为您的MAX(),如需要一个别名这个'SELECT MAX(包标识)作为maxId FROM recipients'。然后尝试'rows [i] .maxId' –

+0

你从哪里得到迭代变量'i'?我没有看到它在任何地方宣布。 –

+0

感谢别名取得了诀窍,虽然我不知道为什么它需要。如果我想存储该值以在代码的其他部分使用它。我可以做返回var packageId = rows [i] .maxId;? – John

回答

1

如果MAX()不起作用试试这个:

SELECT packageId 
FROM recipients 
order by packageId desc 
limit 1 
+0

谢谢,我通过给max()分配一个别名来实现它的工作。我将如何能够将该值作为变量存储,以便我可以在查询之外以及代码的其他部分使用该变量? – John