对不起,愚蠢的标题,但我根本不知道如何称呼它。
这就是我想要的。查看以下查询:
SELECT *
FROM (
SELECT xyz
)
JOIN ...
ORDER BY RANDOM()
我想知道xyz
查询结束时行的初始顺序。所以我想到了这样的事情(伪SQL):
iterator = 1;
SELECT *
FROM (
SELECT iterator++, xyz
)
JOIN ...
ORDER BY RANDOM()
所以之后我的结果集将如下所示:
iterator | some other data
--------------------------
5 | ...
1 | ...
6 | ...
8 | ...
4 | ...
2 | ...
7 | ...
3 | ...
因此,之后可以重新创建原始订单。
现在你可能会说:为什么你不简单地使用id
where you select xyz
?很简单:没有id
。xyz
数据是用户输入,我想在查询中创建一个人工输入id
。
谢谢你。