http://blog.csdn.net/anxpp/article/details/51893792 面試題在這個里面,我隨便翻的時候看到的,里面的select陳述句是這樣的
select * from grade g
where(
select count(*) from grade where g.course=course and g.grade<grade
) < 3
order by course,grade desc
各位能幫忙提點一下,這里面where子句中的邏輯關系么?拜謝了
uj5u.com熱心網友回復:
這個SQL是有問題的,取每個科目成績前三,最好有分析函式。uj5u.com熱心網友回復:
以當前行為基準,查找一下比自己大的記錄數,有一個人比你大,你就是第二名,兩個人比你大,你就是第三名。uj5u.com熱心網友回復:
SQL沒有考慮兩個或兩個以上并列第一,也沒有考慮兩個或兩個以上并列第二的情況。
所以說SQL是有問題的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/82504.html
標籤:基礎和管理
上一篇:求助,oo4o連接資料庫,網線斷開或服務器斷開后使用odatabase仍然能夠open成功
下一篇:oracle多維度表查詢問題
