QUERY与IMPORTRANGE组合错误地对重音值进行排序

时间:2017-10-09 16:43:34

标签: google-sheets google-query-language

如标题中所述,假设我spreadsheet具有以下值:

B
C
A
Š
Ť
Á

然后,我使用QUERYIMPORTRANGE将此电子表格中的值导入到不同的spreadsheet,确切的函数:

=QUERY(IMPORTRANGE("<spreadsheet_id>"; "List 1!A:B"); "SELECT * WHERE Col1!='' ORDER BY Col1";-1)

我得到的结果是:

A
B
C
Á
Š
Ť

所以ORDER BY分别处理非重音字母和重音字母,但不能同时处理,我期望的结果是:

A
Á
B
C    
Š
Ť

这对我来说没用。当我尝试手动订购它们时,数据会失真(移动到完全不同的行,排序也不正确。我检查过,设置中的语言设置正确。

当我用google搜索一些时,一些链接处理不同的SQL(如MySQL)COLLATE UNICODE,但这不起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

问题在于sort调用了一种完全不同的语言,并不像其他表单函数(如order by那样)。由于=SORT(QUERY(IMPORTRANGE(...); "SELECT * WHERE Col1!=''); 1; True) 符合您的要求,因此请在查询中使用A Á B C Š Ť 代替

if(maxx < circles.get(i)[0] + circles.get(i)[2]);
    maxx = circles.get(i)[0] + circles.get(i)[2];

按第一列(1),升序(True)对查询输出进行排序。输出是

if(maxx < circles.get(i)[0] + circles.get(i)[2])
    ;  // Do nothing
maxx = circles.get(i)[0] + circles.get(i)[2];