SQL COUNT函数,用于查找特定ddata的编号

SQL COUNT函数,用于查找特定ddata的编号,sql,oracle,Sql,Oracle,如果我有一个名为水果的表,表中的数据如下 APPLE BANANA APPLE BANANA+APPLE 如何计算表水果中苹果的数量?如果某些列可以包含苹果不止一次,请将其放入您的问题中。如果没有,您可以使用以下选项: SELECT COUNT(*) FROM Fruits WHERE Your_Column='APPLE' 如果Apple可以显示其他文本,您可以使用以下文本: SELECT COUNT(*) FROM Fruits WHERE LEN(Your_Column)!=LEN(R

如果我有一个名为
水果的表
,表中的数据如下

APPLE
BANANA
APPLE
BANANA+APPLE

如何计算表
水果
苹果
的数量?

如果某些列可以包含苹果不止一次,请将其放入您的问题中。如果没有,您可以使用以下选项:

SELECT COUNT(*) FROM Fruits WHERE Your_Column='APPLE'
如果Apple可以显示其他文本,您可以使用以下文本:

SELECT COUNT(*) FROM Fruits WHERE LEN(Your_Column)!=LEN(REPLACE(Your_Column,'APPLE',''))
我是为MSSQL写的,我不知道您使用的是哪台sql server。

从fruits中选择count(当'APPLE'时选择case[your_column],然后选择1 else null end)

你也可以用这个

SELECT count(*) FROM FRUITS WHERE name like '%APPLE%'
SELECT COUNT(*) FROM fruits WHERE REGEXP_LIKE(name, 'APPLE');

这个查询的结果是2,但结果应该是3如果您不使用任何正则表达式,为什么要使用正则表达式?@Ramblin,
'APPLE'
是一个正则表达式。它的意思是“匹配这个字符串,任何地方”。@JeffreyKeymp是真的,但在这种情况下使用正则表达式是过分的,因为一个简单的LIKE搜索就足够了(我猜这就是Ramblin'Man所建议的)是的,我同意这是他的意思-但我坚持准确性(至少在其他人的评论中):)我们不能使用decode和substr函数吗???如果可以,请帮助我…这将是毫无意义的,因为你没有要求字符串,只有计数。如果您需要除“apple”之外的字符串,您可以使用它。如果此答案帮助您解决了问题,请单击此答案旁边箭头下方的勾选按钮。从技术上讲,答案为零-您提供的示例数据中没有等于或包括
apple
的字符串。:)您不应该像那样存储分隔数据。仔细阅读规范化。@JeffreyKemp从技术上讲,OP要求的是苹果的数量,而不是苹果出现的次数,所以答案仍然应该是3:-)