ฉันพยายามที่จะโยกย้ายแบบสอบถามจาก Oracle ไปยัง SQL Server 2014
นี่คือข้อความค้นหาของฉันที่ใช้งานได้ดีใน Oracle:
select
count(distinct A) over (partition by B) / count(*) over() as A_B
from MyTable
นี่คือข้อผิดพลาดที่ฉันได้รับหลังจากพยายามเรียกใช้แบบสอบถามนี้ใน SQL Server 2014
Use of DISTINCT is not allowed with the OVER clause
ใครรู้ว่าปัญหาคืออะไร? เป็นชนิดของแบบสอบถามที่เป็นไปได้ใน SQL Server หรือไม่ กรุณาแนะนำ
MyTable
หรือไม่? หรือแถวที่แตกต่างกันเพียงพอหรือไม่ และคุณไม่จำเป็นต้องพิจารณาการหารด้วยข้อผิดพลาดแบบศูนย์ถ้าไม่มีแถวในMyTable
?