我需要一些帮助来理解SQL语句:
select customerID as customerid, RAND() as random
from customer tablesample system(10)
fetch first row only with ur
这对我来说没有意义。谁能告诉我它的实际含义? 它甚至是一个正确的SQL吗?
还有一些问题:
是否需要“as customerid”?
是否需要“随机”?
“tablesample system(10)”是什么意思?
“with ur”是什么意思?
是否有必要将Rand()和tableample系统(10)与你们一起使用?
感谢您的帮助
答案 0 :(得分:2)
" as customerid"和"随机"只是结果集的标签,所以它们不是必需的(如果你不包含它们,标签就是列名,即customerID和RAND()) RAND()取0到1之间的随机数,并将其与结果中的ID相关联 获取第一行将选择查询的第一行
tablesample system(10):它只选择表格中的一部分,具体取决于你提供的数字(10表示10%):你可以在这里阅读https://wiki.postgresql.org/wiki/TABLESAMPLE_Implementation
用UR表示' Uncommited Read'你可以在这里了解它 http://www.anesi.com/v41004.htm
查询的作用是从表的随机10%中选择customerID,并将它们中的每一个与0到1之间的随机数相关联,然后获取这些所选customerID中的第一个及其各自的随机数数字并将其返回到带有标签" customerid"的表格中。和"随机"。
希望这能回答你的问题。