Sql server 返回状态为==”的所有项目;“退休”;
我需要从“状态”为“已退休”的SQL Server 2014表中选择“ItemName”。我曾多次尝试使用GROUP,但未能完成查询。感谢您的帮助 例如,这是表格。我应该只从SQL查询返回A和B,因为它们中的每一个都有一个status==Retired的行:Sql server 返回状态为==”的所有项目;“退休”;,sql-server,Sql Server,我需要从“状态”为“已退休”的SQL Server 2014表中选择“ItemName”。我曾多次尝试使用GROUP,但未能完成查询。感谢您的帮助 例如,这是表格。我应该只从SQL查询返回A和B,因为它们中的每一个都有一个status==Retired的行: ItemName Status LastUpdated ========= ======== ============ A active A retired
ItemName Status LastUpdated
========= ======== ============
A active
A retired
B active
B active
B retired
C active
C inactive
使用where子句:
Select DISTINCT ItemName from YourTableName WHERE status = 'retired'
试试这个代码,我想它工作得很好
SELECT itemname FROM Table WHERE (Status='retired' and ItemName='A' or ItemName='B')
您可以使用group by进行区分
从Status='Retired'所在的表中按ItemName分组选择ItemName如何
从Status='Retired'所在的表中选择ItemName
您应该包括您当前的查询,这样我们就可以看到您正在做什么。您确实需要找到一个基本的SQL教程,并逐步完成它。带有WHERE子句的简单SELECT是第1课。我们不是来教你们的,谢谢你们!我想我是想让事情变得不必要的复杂化。你不需要GROUP BY。我从问题中假设只需要分别返回a和B值,否则就不需要GROUP BY。不需要GROUP BY,因为SELECT中没有聚合函数(SUM、AVG、MAX、MIN、COUNT)。是的,我明白你的意思,但假设有4行,其中ItemName和Status分别等于'a'和'retired',不使用group by,输出将是'a','a','a','B',正如问题所说,它应该只显示a和B,我们可以使用group by或Distinct只显示'a','B',并消除重复项,因此,这取决于用户需要。在这种情况下,DISTINCT是合适的,而不是GROUP BY。同样,SELECT中没有发生聚合。