【发布时间】:2013-11-23 21:20:11
【问题描述】:
我在 MySQL 上创建了一个视图,它会产生如下随机结果:
SELECT word1, word2, word3 FROM view_name ORDER BY rand() LIMIT 50
word1 | word2 | word3 |
------+-------+-------+
foo2 | bar2 | baz2 |
foo1 | bar1 | baz1 |
foo3 | bar3 | baz3 |
我需要找到一种方法,从这 3 行中随机创建另外 47 行以达到“限制”。
查询也将应用于类似的视图(超过 50 行),但在这种情况下,我仍然需要将限制设置为 50 max(忽略重复过程并从选择中返回行)。
有可能吗?我该怎么办?
更新 对不起,我会尽力解释得更好。我有这种情况:
- 我正在使用相同类型的查询生成一些视图,但 WHERE 子句不同。
- 结果具有相同的列。不同之处在于返回的行数。
- 有些视图返回超过 50 行,有些则返回更少。
-
目标是准确返回 50 行。如果视图返回少于 50,我需要生成剩余的行。如果视图返回超过 50 行,它将只返回 50。
例如:
- View1 返回 3 行。我需要生成 47 行才能返回 50 行。
- View2 返回 55 行。我不需要生成行,只想限制为 50 行。
- View3 返回 25 行。我需要生成 25 行...
【问题讨论】: