开发者社区 > 数据库 > 数据仓库 > 正文

云数据仓库ADB这些查询结果都一样,是我SQL写错了吗?

"云数据仓库ADB中DISTRIBUTE BY HASH(order_code,dealer_code) PARTITION BY VALUE(DATE_FORMAT(submit_date, '%Y')) LIFECYCLE 30
这是我们指定的分区,按年来分区,生命周期是30,然后我表建完了,写SQL去查询,我用
SELECT FROM dwd_dealer_order_di_test PARTITION (p2022),
SELECT
FROM dwd_dealer_order_di_test PARTITION (p2023) ,
SELECT FROM dwd_dealer_order_di_test PARTITION ('2022') ,
SELECT
FROM dwd_dealer_order_di_test PARTITION ('2023') 这些查询结果都一样,是我SQL写错了还是?"

展开
收起
十一0204 2023-08-17 10:19:43 93 0
1 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    我已经认真阅读了 你的问题: 【 SQL 错误 】

    并思考了 SQL 问题

    建议如下:


    你在云数据仓库ADB中创建了一个表

    你使用了PARTITION BY VALUE(DATE_FORMAT(submit_date, '%Y'))来按照年份进行分区。

    查询语句中的分区名称没有与表定义的分区方式相匹配。

    正确的分区查询语句应该是:

    sql
    Copy
    SELECT FROM dwd_dealer_order_di_test PARTITION ('2022');
    SELECT
    FROM dwd_dealer_order_di_test PARTITION ('2023');
    请注意,分区名称应该是字符串,并且与表定义中的分区方式相匹配。确保在查询语句中使用正确的分区名称,以获取相应的分区数据。

    2023-08-18 18:51:07
    赞同 展开评论 打赏

相关产品

  • 云原生数据仓库 AnalyticDB PostgreSQL版
  • 热门讨论

    热门文章

    相关电子书

    更多
    SQL Server在电子商务中的应用与实践 立即下载
    GeoMesa on Spark SQL 立即下载
    原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载