繁体   English   中英

为什么 Big Query 中的 order by 不起作用?

[英]Why does the order by in Big Query not working?

我正在尝试在大查询中使用 order by 对我的查询进行排序。 我想做的是,根据一年中的周数对结果进行排序,但它似乎不起作用。 它也没有显示任何类型的语法问题。

SELECT  *  FROM (SELECT concat(cast(EXTRACT(week FROM elt.event_datetime) as string),', ', extract(year from elt.event_datetime)) WEEK,  elt.msg_source SOURCE, (elt.source_timedelta_s_ + elt.pipeline_timedelta_s_) Latency  FROM    <table> elt join ,<table1> ai ON elt.msg_id = ai.msg_id  WHERE ai.report_type <> 'PFR' and   EXTRACT(date    FROM      elt.event_datetime) > extract(date from (date_sub(current_timestamp(), INTERVAL 30 day)))
order by WEEK desc)PIVOT ( AVG(Latency) FOR SOURCE IN ('FLYHT',      'SMTP')) t 

基本上,我想要我的结果,因为它们在下图中以绿色编号。

在此处输入图像描述

有人可以检查是什么问题吗?

SELECT  *  FROM (SELECT concat(cast(EXTRACT(week FROM elt.event_datetime) as string),', ', extract(year from elt.event_datetime)) WEEK,  elt.msg_source SOURCE, (elt.source_timedelta_s_ + elt.pipeline_timedelta_s_) Latency  FROM    <table> elt join ,<table1> ai ON elt.msg_id = ai.msg_id  WHERE ai.report_type <> 'PFR' and   EXTRACT(date    FROM      elt.event_datetime) > extract(date from (date_sub(current_timestamp(), INTERVAL 30 day))))
PIVOT ( AVG(Latency) FOR SOURCE IN ('FLYHT',      'SMTP')) t order by (select RIGHT(t.WEEK,4)) desc ,(select regexp_substr(t.WEEK,'[^,]+')) desc

正如@Shipra Sarkar 在评论中所建议的那样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM