再用sql實現一條小學題~
P先生、Q先生都具有足夠的推理能力。這天,他們正在接受推理面試。
他們知道桌子的抽屜裡有如下16張撲克牌:
紅桃 A、Q、4
黑桃 J、8、4、2、7、3
草花 K、Q、5、4、6
方塊 A、5
約翰教授從這16張牌中挑出一張牌來,並把這張牌的點數告訴P先生,把這張牌
的花色告訴Q先生。
這時,約翰教授問P先生和Q先生:你們能從已知的點數或花色中推知這張牌是什麼牌嗎?
P先生:“我不知道這張牌。”
Q先生:“我知道你不知道這張牌。”
P先生:“現在我知道這張牌了。”
Q先生:“我也知道了。”
請問:這張牌是什麼牌?
使用SQL如下:
SQL> select * from jss_tmp5;
TP VL
---------- ----------
紅桃 A
紅桃 Q
紅桃 4
黑桃 J
黑桃 8
黑桃 4
黑桃 2
黑桃 7
黑桃 3
草花 K
草花 Q
草花 5
草花 4
草花 6
方塊 A
方塊 5
16 rows selected
SQL>
SQL> select tp, vl
2 from (select d.*, count(tp) over(partition by tp) ect
3 from (select c.tp, vl, count(vl) over(partition by vl) ct
4 from (select b.*, min(ct) over(partition by tp) mn
5 from (select a.*, count(vl) over(partition by vl) ct
6 from jss_tmp5 a) b) c
7 where c.mn > 1) d
8 where d.ct = 1)
9 where ect = 1
10 ;
TP VL
---------- ----------
方塊 5
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-235676/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一道小學題的sql實現~~~SQL
- 又一道小學題的sql實現~~~SQL
- 【SQL】實現每隔一分鐘插入一條資料SQL
- 實現四則運算的一條sql語句SQL
- 從一條問題SQL優化看SQL TransformationSQL優化ORM
- mysql_sql小學(一)_mysql_sqlMySql
- 3 條 sql 是實現知乎評論,7 條 sql 實現點贊 + 評論,且可擴充套件SQL套件
- 利用SQL實現一個圖形概率問題SQL
- 關於介面實現的一個小問題
- 來~打包實現小程式動態分享圖一條龍服務( ¨̮ )
- Linux小技巧,一條命令實現查詢檔案和改名Linux
- 實現一個自動生成小學四則運算題目的命令列程式命令列
- pl/sql developer的一個小問題SQLDeveloper
- 【SQL 學習】一個面試題SQL面試題
- 如何用小程式實現類原生APP下一條無限刷體驗APP
- sql 查詢條件問題SQL
- 【UWP】實現一個波浪進度條
- 實現環形進度條效果【一】
- 一條SQL的改寫SQL
- 現學現賣微信小程式開發(一)微信小程式
- 單條SQL語句實現複雜邏輯幾例~~SQL
- 使用sql*plus時的一個安全小問題SQL
- 學習java筆記 --- 一個實現Iterable介面的小范例Java筆記
- 一道小學數學題的解決
- ORACLE中用一條SQL實現其它進位制到十進位制的轉換OracleSQL
- 由一條sql語句導致的系統IO問題SQL
- 如何分析一條sql的效能SQL
- 一條大sql的調優SQL
- 一個使用SQL語句解決的小問題SQL
- 分享一條history命令小技巧
- 【TUNE_ORACLE】列出一條SQL中多次出現的表名的SQL參考OracleSQL
- 別再用 Redis List 實現訊息佇列了,Stream 專為佇列而生Redis佇列
- 大型面試現場:一條update sql執行都經歷什麼?面試SQL
- SQL的order by 高階使用·指定一條資訊排列第一條SQL
- 教你用一條SQL搞定跨資料庫查詢難題SQL資料庫
- 一條簡單的sql語句導致的系統問題SQL
- 9*9乘法口決pl/sql的多種方法實現(一句sql實現)SQL
- sql中case when的小學SQL