【问题标题】:count column in SQL and obtain conditionSQL中的计数列并获取条件
【发布时间】:2013-03-18 10:18:44
【问题描述】:

我在 Oracle 中有一个名为 test 的表,(sal(integer),gender) 是其中的两列。 我想获取性别为男性的柜台号码,sal 介于 1000,3000 之间。

例如:如果我在表格测试中有三个人(两个男性,一个女性)并且 person1 sal =1000, person2 sal = 2020, person3 sal = 1040

sql语句的返回值将等于(2)。

该变量将存储来自java的返回值。

【问题讨论】:

  • 可变的女巫商店男性人数和来自(1000,3000)的sal值
  • oracle 中没有函数sal
  • sal 是列名,你能告诉我如何存储我写的有问题的条件值吗..

标签: java sql oracle10g


【解决方案1】:

根据我从您的问题中了解到的情况,您实际上想要计算行而不是列。那么你可以使用 SQL 的count(column_name) 函数以及条件(where 子句)。

查询:SELECT COUNT(*) "Count" FROM test WHERE gender='male' AND salary BETWEEN 1000 AND 3000

【讨论】:

  • 此表中 person1, person2 = 男 person3 =female
  • 非常感谢,但我不会将它存储在 java 变量中。
  • 与查询任何其他 SELECT 语句的方式类似,它将返回一个结果集。其结果将仅包含 1 行 1 列,您可以从中调用 getInt(0),并将其存储在变量中。
  • sire ,为什么 getInt(0) ,whats (0) ?
  • 你认为需要 while(rs.next()) 吗?
【解决方案2】:

试试这个查询,

select count(*) from <table_name> where gender='male' and salary between 1000 to 3000;

【讨论】:

  • 谢谢你,我知道了。但返回值存储在变量 java 中!!?你能帮忙吗
  • 是的,您只需将其存储在 java 变量中。您可以使用 java.sql.ResultSet 并使用 resultSet.next() 对其进行迭代,您可以在 java 代码中访问这些值
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-04
  • 1970-01-01
  • 2019-04-14
  • 1970-01-01
  • 1970-01-01
  • 2021-06-21
相关资源
最近更新 更多