sql - 为什么下面的查询没有返回结果?
问题描述
SQL 查询可以在此链接上找到 https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-usage-metering#expandable-1-label
即使 Billing dataset & table 以及 GKE 使用计量 dataset & table 没有问题。
SELECT
resource_usage.cluster_name,
resource_usage.cluster_location,
resource_usage.namespace,
resource_usage.resource_name,
resource_usage.sku_id,
MIN(resource_usage.start_time) AS usage_start_time,
MAX(resource_usage.end_time) AS usage_end_time,
SUM(resource_usage.usage.amount * gcp_billing_export.rate) AS cost
FROM
'cluster-gcp-project.usage-metering-dataset.gke_cluster_resource_usage' AS resource_usage
LEFT JOIN (
SELECT
sku.id AS sku_id,
SUM(cost) / SUM(usage.amount) AS rate,
MIN(usage_start_time) AS min_usage_start_time,
MAX(usage_end_time) AS max_usage_end_time
FROM
'cluster-gcp-project.billing-dataset.billing-table'
WHERE
project.id = "cluster-gcp-project"
GROUP BY
sku_id) AS gcp_billing_export
ON
resource_usage.sku_id = gcp_billing_export.sku_id
WHERE
resource_usage.start_time >= gcp_billing_export.min_usage_start_time
AND resource_usage.end_time <= gcp_billing_export.max_usage_end_time
GROUP BY
resource_usage.cluster_name,
resource_usage.cluster_location,
resource_usage.namespace,
resource_usage.resource_name,
resource_usage.sku_id
解决方案
我发现了一个问题,它与该查询中的 WHERE 条件有关
WHERE
resource_usage.start_time >= gcp_billing_export.min_usage_start_time
AND resource_usage.end_time <= gcp_billing_export.max_usage_end_time
如您所见,以下条件失败,因此不会返回任何结果。
仅供参考,逻辑是检查和验证两个不同表的 start_time 和 end_time 并返回值。
谢谢大家的回复。
推荐阅读
- javascript - 函数和调用函数的箭头函数有什么区别
- excel - Excel Sumifs 搜索列的前 8 个字符
- python-imaging-library - 我已经下载了 pyaudio.whl 但不是通过 powershell 或 cmd 运行,而是使用 open 与其他应用程序
- python - 如何编写一个方法来删除带有烧瓶请求的文件中的某些行?
- nuxt.js - 如何从 Nuxt 中的 URL 中删除锚标签?
- python - 读取特定文本并通过在特定字符处中断将其写入多行
- amazon-web-services - eb create 和 eb deploy 卡在上传 0%
- html - 如何阻止我的最后一个网格项目溢出?
- asp.net - 是否可以从 .NET Framework 4.8 更改为 4.7.2
- android - AOSP 9 的默认 Google Android 启动器的数据在哪里?