Sql 如何在不使用任何内置函数或分析函数的情况下查找Oracle中特定列的计数?
这是在一次采访中被问到的:如何在不使用任何内置函数或任何分析函数的情况下找到Oracle中某个特定列的计数 我刚刚听说了COUNT,COUNT(*),但是我们发现使用Oracle中存在的这些类型的内置关键字Sql 如何在不使用任何内置函数或分析函数的情况下查找Oracle中特定列的计数?,sql,database,oracle,Sql,Database,Oracle,这是在一次采访中被问到的:如何在不使用任何内置函数或任何分析函数的情况下找到Oracle中某个特定列的计数 我刚刚听说了COUNT,COUNT(*),但是我们发现使用Oracle中存在的这些类型的内置关键字 这个查询应该适用于像RDBMS这样的每一个数据库。听起来面试的问题是想让你用SQL思考问题,也许你必须跳出框框思考问题,忽略一个事实,count是标准SQL,而且已经使用多年了 这里有一个建议,可能类似于selectrownum,*fromtdbtableorderbyrownumdesc其
这个查询应该适用于像RDBMS这样的每一个数据库。听起来面试的问题是想让你用SQL思考问题,也许你必须跳出框框思考问题,忽略一个事实,
count
是标准SQL,而且已经使用多年了
这里有一个建议,可能类似于selectrownum,*fromtdbtableorderbyrownumdesc代码>其中DBTABLE是数据库中试图从中获取计数的任何表
当然,在获取所有数据时会遇到问题,可能表格中的列数太多了,但是面试官希望面试者思考。听起来面试问题试图让你用SQL思考,也许你必须跳出框框思考,忽略以下事实:count
是标准SQL,多年来一直如此
这里有一个建议,可能类似于selectrownum,*fromtdbtableorderbyrownumdesc代码>其中DBTABLE是数据库中试图从中获取计数的任何表
当然,在获取所有这些数据时会遇到问题,可能表格中的列数太多了,但是采访者希望被采访者思考。实际的RowNum用法如下:
选择ROWNUM,客户*
来自客户
其中客户id>4500
按姓氏订购 实际使用的RowNum如下所示:
选择ROWNUM,客户*
来自客户
其中客户id>4500
按姓氏订购 什么是TCS?你的问题不清楚,你应该发布更多细节。你不应该在面试问题中使用公司/组织的名称。对我来说,这听起来是一个相当愚蠢的问题。使用count(*)
通常是获取表中总行数的最有效方法。我知道count(*)是最有效的方法。但这就是问题所在。没有它们怎么做。TCS是什么?你的问题不清楚,你应该发布更多细节。你不应该在面试问题中使用公司/组织的名称。对我来说,这听起来是一个相当愚蠢的问题。使用count(*)
通常是获取表中总行数的最有效方法。我知道count(*)是最有效的方法。但这就是问题所在。如果没有它们,如何做到这一点。如果我错了,请纠正我,查询最大值(ROWNUM)不是吗?实际上,看起来ROWNUM
只是oracle现象。也许OP必须找出表中是否有任何类型的自动递增ID列,然后最大限度地使用它,类似于MySQL的select*from Users order by UserID desc limit 1
。谢谢user75ponic和Philip。但是我们不必使用内置函数。MAX就是其中之一;如果没有任何用户ID,那么我们能做什么?我告诉他们关于罗纳姆的事。但是我得到的答案是否定的。如果我错了,请纠正我,查询MAX(ROWNUM)不是吗?事实上,它看起来像ROWNUM
只是一种甲骨文现象。也许OP必须找出表中是否有任何类型的自动递增ID列,然后最大限度地使用它,类似于MySQL的select*from Users order by UserID desc limit 1
。谢谢user75ponic和Philip。但是我们不必使用内置函数。MAX就是其中之一;如果没有任何用户ID,那么我们能做什么?我告诉他们关于罗纳姆的事。但我没有得到答案。