按多列对数据视图中的结果集进行排序

Posted

技术标签:

【中文标题】按多列对数据视图中的结果集进行排序【英文标题】:Sort Result Set in Data View by Multiple Columns 【发布时间】:2021-04-18 17:59:48 【问题描述】:

在 DataGrip 的早期版本(假定早于 2021.1)中,“数据视图”窗格中的结果集允许通过按顺序单击列标题以分配自定义排序顺序跨多个列进行临时排序.此功能记录在 Data Editor Documentation 中。自 2021.1 版本发布以来,依次单击多个列将仅通过最近单击的列标题来处理整个结果集。

使用以下语句作为示例,生成一个包含 4 个月的 120 个日期值的结果集,其中 month_start_date 对同一个月内出现的 calendar_date 值重复:

SELECT month_start_date
     , calendar_date
FROM calendar
WHERE month_start_date BETWEEN '2021-01-01' AND '2021-04-01'
GROUP BY 1, 2

month_start_date列标题被点击时,整个结果集按照month_start_date排序:

当随后单击 calendar_date 标题时(单击 month_start_date 列标题之后),整个结果集仅根据 的值重新排序日历日期

2021.1 版中有没有办法按多列排序,还是有意删除了这个功能?

【问题讨论】:

您能否参考此处确切记录累积排序的位置? jetbrains.com/help/datagrip/table-editor.html 我指的是 显示选项菜单 部分中显示的屏幕截图,它显示了累积排序,但是您是正确的,同一部分中的文档仅指取消选中SORT BY 选项。不过,您在回答中提供的指导非常清楚! 【参考方案1】:

如release notes中所述,从2021.1开始,累积排序应通过Alt/Opt+Click.执行

【讨论】:

以上是关于按多列对数据视图中的结果集进行排序的主要内容,如果未能解决你的问题,请参考以下文章

dictsort 没有结果

MySQL:查询修改

Pyspark orderBy 在对多列进行排序时给出不正确的结果

Mysql高手系列 - 第12篇:子查询详解

对搜索结果的查询集进行排序并通过 ajax 呈现

21《MySQL 教程》ORDER BY 排序