- 我有一张 30K 行的表
- 当我对该表运行一个长达 50 行的查询时,GROUP 函数将行数减少到 7K
- 我想将分组的 7K 行导出为新表,或将其保存为 CSV
当我尝试导出时,我没有得到分组的 7K 行,而是得到了旧的查询前 30K 行。我做错了什么,我应该怎么做?
注意:我不是一名程序员,因此我真的很感激只使用 phpMyAdmin GUI 的解决方案。
答案1
在 phpMyAdmin 的 SQL 选项卡中执行您的 SQL 查询。
执行后,向下滚动页面,找到“查询结果操作”
单击上面的“导出”链接,您将获得将所有查询结果导出为所需格式的页面。
答案2
不要使用 GUI 顶部的导出按钮,而要使用底部“查询结果操作”框内的导出按钮。这才是您想要的。
答案3
对于某些查询,无法直接进行。
您必须通过create table as
句法
然后您可以按照正常的导出说明进行操作:https://serverfault.com/a/300342/256884
答案4
对于这个来自多个表的查询,我仍然需要找到一个老问题的答案,而我想到了一个好答案。正如其他人所说,您可以尝试“查询结果操作”下的导出选项。正如其他人指出的那样,这并不总是有效,它可能只会为您提供一个表中的所有行。在我的情况下,该选项不起作用。我还想要一些比编写代码将结果插入新表然后导出更简单的东西。
我发现了两种简单的方法来做到这一点。
方法 1:复制并粘贴
选中结果上方的“显示全部”框,突出显示所有结果,复制并粘贴到电子表格中。这在 Excel 中对我来说很有效。但是,结果预览会截断太长的单元格值。因此,如果您的单元格值很长并且您需要完整的值,这可能不适合您。
方法 2:创建视图
在“查询结果操作”下,有一个“创建视图”选项。创建的视图将显示在数据库表下方的新“视图”类别中。视图基本上是显示自定义查询结果的持久表。单击“创建视图”,输入视图名称并转到。现在,您可以在视图中成功使用“查询结果操作”下的导出选项。