如何使用min()函数在sqlite中指定查询

时间:2013-01-11 05:39:21

标签: java sql sqlite select

我的表格由下面的代码定义

CREATE TABLE Products
(
P_Id INTEGER PRIMARY KEY,
name TEXT,
price REAL,
sellPrice REAL,
plu INTEGER,
codeBar TEXT,
tax INTEGER,
amount INTEGER,
date TEXT
);

当我尝试执行查询时,我得到语法错误(这是一个准备好的语句)

select * 
from Products 
where P_Id = min(select P_Id from Products where codeBar=?);

有人可以帮忙吗?这个查询出了什么问题?

我得到的确切错误信息是:

  

java.sql.SQLException:靠近“select”:语法错误

寻求帮助。

2 个答案:

答案 0 :(得分:5)

MIN()应位于子查询内。

select * 
from Products 
where P_Id = (select min(P_ID) from Products where codeBar=?);

答案 1 :(得分:1)

我相信你想要的是:

select * from Products 
where P_Id = (select min(P_Id) from Products where codeBar=?);