在where条件下使用MAX()函数进行SQL查询并显示数据
我有一个数据表,其中有在where条件下使用MAX()函数进行SQL查询并显示数据,sql,select,max,Sql,Select,Max,我有一个数据表,其中有LCNo(string),AmmendmentNo(string)。我想为相应的LCNo检索具有最高AmmendmentNo的行 例如: 立法会编号(123123) AmmendmentNo(0,1,2,3) 我想要LCNo:123和AmmendmentNo:3的行 select * from LCTable where LCNo= '12147001' AND MAX(AmendmentNo); 使用分组依据子句。这将为所有LCNo提供最高AmendmentNo SEL
LCNo(string)
,AmmendmentNo(string)
。我想为相应的LCNo
检索具有最高AmmendmentNo
的行
例如:
立法会编号(123123)
AmmendmentNo(0,1,2,3)
我想要LCNo:123和AmmendmentNo:3的行
select * from LCTable where LCNo= '12147001' AND MAX(AmendmentNo);
使用
分组依据
子句。这将为所有LCNo
提供最高AmendmentNo
SELECT LCNo, MAX(AmendmentNo) AmendmentNo
FROM LCTable
GROUP BY LCNo
SELECT LCNo, MAX(AmendmentNo) AmendmentNo
FROM LCTable
WHERE LCNo = '12147001'
但是,如果您想为特定的LCNo
,只需使用以下命令即可。请记住,使用下面的查询只能得到一个LCNo
SELECT LCNo, MAX(AmendmentNo) AmendmentNo
FROM LCTable
GROUP BY LCNo
SELECT LCNo, MAX(AmendmentNo) AmendmentNo
FROM LCTable
WHERE LCNo = '12147001'
使用
分组依据
子句。这将为所有LCNo
提供最高AmendmentNo
SELECT LCNo, MAX(AmendmentNo) AmendmentNo
FROM LCTable
GROUP BY LCNo
SELECT LCNo, MAX(AmendmentNo) AmendmentNo
FROM LCTable
WHERE LCNo = '12147001'
但是,如果您想为特定的LCNo
,只需使用以下命令即可。请记住,使用下面的查询只能得到一个LCNo
SELECT LCNo, MAX(AmendmentNo) AmendmentNo
FROM LCTable
GROUP BY LCNo
SELECT LCNo, MAX(AmendmentNo) AmendmentNo
FROM LCTable
WHERE LCNo = '12147001'
为此,请使用
limit
或top
或类似方法:
select *
from LCTable
where LCNo= '12147001'
order by AmendmentNo desc
limit 1
在SQL Server中,这将使用top
:
select top 1 *
from LCTable
where LCNo= '12147001'
order by AmendmentNo desc
为此,请使用
limit
或top
或类似方法:
select *
from LCTable
where LCNo= '12147001'
order by AmendmentNo desc
limit 1
在SQL Server中,这将使用top
:
select top 1 *
from LCTable
where LCNo= '12147001'
order by AmendmentNo desc
请注意,因为您将数字存储为字符串,所以AmendmentNo的最大值将是lexography最大值,而不是数字最大值。例如:{'1'、'2'、'9'、'542'}的最大值将为'9'。直到20年前,修正后的最大值不会超过10或更多。注意,因为您将数字存储为字符串,所以修正后的最大值将是词法最大值,而不是数字最大值。例如:{'1'、'2'、'9'、'542'}的最大值将为'9'。在20年前,没有修改的最大值将超过10或更多。我尝试了这个“描述限制1”,但当在管理面板中使用它时,它工作了,但当我在php代码中使用它时,它却工作了。但是当在管理面板中使用它时,它工作了,但当我在php代码中使用它时,它工作了