在訪談中提到了這個問題:如何在不使用任何內置函數或任何分析函數的情況下在Oracle的特定列上查找COUNT?如何在不使用任何內置函數或任何分析函數的情況下在Oracle的特定列上查找COUNT?
我剛剛聽說COUNT,COUNT(*)
,但我們發現在Oracle中使用這些類型的內置關鍵字。
而且這個查詢應該適用於像RDBMS這樣的每個數據庫。
在訪談中提到了這個問題:如何在不使用任何內置函數或任何分析函數的情況下在Oracle的特定列上查找COUNT?如何在不使用任何內置函數或任何分析函數的情況下在Oracle的特定列上查找COUNT?
我剛剛聽說COUNT,COUNT(*)
,但我們發現在Oracle中使用這些類型的內置關鍵字。
而且這個查詢應該適用於像RDBMS這樣的每個數據庫。
這聽起來像是面試問題試圖讓你在SQL中思考,也許你必須在盒子外思考,忽略count
是標準SQL並且已有多年的事實。
這裏有一個建議,也許像select rownum, * from DBTABLE order by rownum desc;
其中DBTABLE是數據庫中的任何表,你試圖從中得到一個計數。
當然,獲取所有數據的問題,也許表中列的數量是巨大的,但面試官正在尋找受訪者的想法。
糾正我如果錯了,是不是查詢MAX(ROWNUM)? – user75ponic
實際上,它看起來像'rownum'只是一個神諭現象。也許OP將不得不查找表是否有任何類型的自動遞增ID列,然後執行最大值,例如'select * from Users order by UserID desc limit 1' for MySQL。 –
這很有道理,謝謝。 – user75ponic
的實際使用ROWNUM是這樣的:
SELECT ROWNUM,客戶* 客戶 WHERE CUSTOMER_ID> 4500 ORDER BY姓氏。
什麼是TCS?你的問題不清楚,你應該發佈更多的細節。 – Reeza
你不應該使用公司/組織的名字以及他們的面試問題。 –
聽起來像是一個非常愚蠢的問題給我。使用'count(*)'通常是獲取表中總行數的最有效方式。 –