mysql - 如何消除查询中的某些值

标签 mysql sql snowflake-cloud-data-platform

我正在尝试获取过去 30 天内的交易总额。但是,我还需要确保帐户上也没有 #KYC:Pass 评论。

我在 Snowflake 中,尝试运行各种子查询和连接。我正式陷入困境。


SELECT SUM(amount_base_unit) as GPV, p.unit_token FROM PAYMENTS_DW.PUBLIC.PAYMENT_TRANSACTIONS as p
WHERE country_code='US'
AND NOT EXISTS (
    SELECT c.target_token FROM REGULATOR.RAW_OLTP.COMMENTS as c
    WHERE c.text ILIKE '%#KYC:Pass%'
    and c.updated_at < '2019-10-11'
)
AND is_GPV='1'
AND PAYMENT_TRX_RECOGNIZED_AT BETWEEN dateadd(month,-3,current_timestamp()) AND dateadd(month,0,current_timestamp())
GROUP BY unit_token
HAVING SUM(amount_base_unit) >= 10000000
LIMIT 5
;

它没有返回任何行(我知道这是不正确的)。各位有什么想法吗?

编辑/更新:

我切换了查询以查看出了什么问题,看起来子查询是罪魁祸首。 NOT ILIKE KYC:Pass 过滤器一直有效,直到我放入聚合子查询来总结交易。

FROM REGULATOR.RAW_OLTP.CASES c 
JOIN REGULATOR.RAW_OLTP.AUDIT_LOGS ral
  ON ral.case_id = c.id
WHERE ral.comment not ilike '%#KYC:Pass%'
  AND EXISTS (SELECT SUM(p.amount_base_unit) FROM PAYMENTS_DW.PUBLIC.PAYMENT_TRANSACTIONS as p
    WHERE p.country_code ='US'
    AND p.is_GPV='1'
    AND p.PAYMENT_TRX_RECOGNIZED_AT BETWEEN dateadd(month,-1,current_timestamp()) AND dateadd(month,0,current_timestamp())
    GROUP BY p.unit_token
  HAVING SUM(p.amount_base_unit) >= 10000000)
  LIMIT 5
  ;

所以,我认为更接近?

最佳答案

这个子查询:

NOT EXISTS (SELECT c.target_token
            FROM REGULATOR.RAW_OLTP.COMMENTS as c
            WHERE c.text ILIKE '%#KYC:Pass%' AND
                  c.updated_at < '2019-10-11'
           )

与外部查询不相关。因此,它对所有行返回 true 或 false。我推测您需要一个相关子句。我不知 Prop 体是什么,但也许:

NOT EXISTS (SELECT 1
            FROM REGULATOR.RAW_OLTP.COMMENTS c
            WHERE c.target_token = p.unit_token AND
                  c.text ILIKE '%#KYC:Pass%' AND
                  c.updated_at < '2019-10-11'
           )

关于mysql - 如何消除查询中的某些值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58349145/

相关文章:

php - 存储图形数据的最有效方法

sql - 在 With 语句中选择 Null

sql - 如何在 MS SQL 中进行限制和排序?

mysql - 连接表,返回一个表的所有数据,另一个表的 WHERE 数据(如果没有数据,则返回 null)

snowflake-cloud-data-platform - 雪花: How can I find object dependency?

snowflake-cloud-data-platform - Snowflake 中的四分之一函数

mysql - SQL获取同一列但同一表中不同日期的值差异

带 OUT 参数的 MySQL 存储过程

python - 将 Pandas 中的 VARIANT 类型插入 Snowflake

php - 运行两个查询,INSERT 和 INSERT INTO SELECT (php, mysql)