summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwangwei <[email protected]>2022-04-28 18:47:25 +0800
committerwangwei <[email protected]>2022-04-28 18:47:25 +0800
commit65e4cc5dc00918575f2f1e647984e4071590cca3 (patch)
treefbe54edbad4c2b381db833c40089bd18f8697b50
parenta696d8f662a27d00e1155b168302927e7cf81ded (diff)
fix(isSampled): 样例数据使用rand()函数355
-rw-r--r--src/main/java/com/mesalab/qgw/dialect/ClickHouseDialect.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/main/java/com/mesalab/qgw/dialect/ClickHouseDialect.java b/src/main/java/com/mesalab/qgw/dialect/ClickHouseDialect.java
index f8c7dfd0..e3fc7679 100644
--- a/src/main/java/com/mesalab/qgw/dialect/ClickHouseDialect.java
+++ b/src/main/java/com/mesalab/qgw/dialect/ClickHouseDialect.java
@@ -1150,8 +1150,8 @@ public class ClickHouseDialect extends AbstractDataSourceDialect {
* @throws JSQLParserException
*/
private FromItem generateSampleDatasetSql(String tableName, String alias) throws JSQLParserException {
- String sql = StrUtil.format("SELECT 1 FROM (SELECT * FROM {} LIMIT {} ) as {} ",
- tableName, BooleanUtil.isTrue(param.getSampled()) ? 100 : 0, alias);
+ String sql = StrUtil.format("SELECT 1 FROM (SELECT * FROM {} ) as {} ",
+ BooleanUtil.isTrue(param.getSampled()) ? tableName + " WHERE rand() % 100 = 0 LIMIT 1000 " : tableName + " LIMIT 0 ", alias);
Statement parse = CCJSqlParserUtil.parse(sql);
Select select = (Select) parse;
PlainSelect plainSelect = (PlainSelect) select.getSelectBody();