当前位置: 首页 > 知识库问答 >
问题:

如何在PostgreSQL中选择和排序提取的列

韩阳飙
2023-03-14

我有一个查询生成器来选择在过去12个月中创建的所有用户

$range = \Carbon\Carbon::now()->subYears(1);
            $countUser = DB::table('users')
                        ->select(DB::raw('month(created_at) as getMonth'),
                                 DB::raw('year(created_at) as getYear'), 
                                 DB::raw('COUNT(*) as value'))
                        ->where('created_at', '>=', $range)
                        ->groupBy('getMonth','getYear')
                        ->orderBy('getMonth', 'ASC')
                        ->get();

这个查询在MySQL上很好地工作,但是,当我将它部署在使用PostgreSQL数据库运行的Heroku上时,它返回一个错误

$range = \Carbon\Carbon::now()->subYears(1);
            $countUser = DB::table('users')
                        ->select(DB::raw('extract(month from created_at) as getMonth'),
                            DB::raw('extract(year from created_at) as getYear'),
                            DB::raw('COUNT(*) as value'))
                        ->where('created_at', '>=', $range)
                        ->groupBy('getMonth','getYear')
                        ->orderBy('getMonth', 'ASC')
                        ->get();

PostgreSQL是否有任何命名规则来为选定的列设置名称,或者它是否有任何方法来解决我的问题?感谢阅读!

共有1个答案

邴宏大
2023-03-14

如果在postgresql中使用混合大小写别名,则必须使用引号。使用get_month而不是getMonth,或者使用作为“getMonth”groupby('“getMonth”‘,...

 类似资料:
  • 冒泡排序 from typing import List """ 核心思想是循环length-1次,每次循序找出最大或者最小的一个数,每次比较相邻的两个数,如果大或者小就交换位置,每一次循环可以比较当次最大的一个数。 例如 3, 10, -1, 20,8 - 第一次循环 1. 指针下移指向 3 3和10比较 不交换 3 10 -1 20 8 2. 指针下移指向 10 10>-1 交换

  • 问题内容: 我正在尝试编写一个项目。在我的项目中,我可以成功拖动图像。 这是图片,这是我的ViewOnTouchListener代码: 请看图片 ,这是我的DragView代码: 一切都好。但是我需要做的是,当用户单击图像(贴纸)时,阴影和边框消失。当用户再次单击图像时,它们会再次出现。我不知道该怎么办。 问题答案: 最后,我找到了正确的答案。我认为这可能会有所帮助。所以我分享。首先,我在Drag

  • 本文向大家介绍选择排序,包括了选择排序的使用技巧和注意事项,需要的朋友参考一下 在选择排序技术中,列表分为两部分。一部分将所有元素排序,而另一部分将未排序项目。首先,我们从数组中获取最大或最小数据。获得数据(例如最小值)后,我们将列表中的第一位数据替换为最小数据,从而将其放置在列表的开头。执行后,数组变得越来越小。这样就完成了这种分类技术。 选择排序技术的复杂性 时间复杂度:O(n ^ 2) 空间

  • 选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。 1. 算法步骤 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。 重复第二步,直到所有元素均排序完毕。 2. 动图演示 3. JavaScript 代

  • 1. 前言 本节内容是排序算法系列之一:选择排序,主要讲解了选择排序的主体思路,选取了一个待排序的数字列表对选择排序算法进行了演示,给出了选择排序算法的 Java 代码实现,帮助大家可以更好的理解选择排序算法。 2. 什么是选择排序? 选择排序(Select Sort),是计算机科学与技术领域中较为简单的一种排序算法。 假设我们按照从小到大的顺序进行排序。选择排序会首先从待排序序列中选择一个最小的

  • 问题内容: 我想根据或月份的月份选择行,如下所示: 但是我只在PostgreSQL中收到错误消息。 如何才能做到这一点? 问题答案: 您可以使用函数,如下所示: 您的问题来自PostgreSQL中没有诸如函数之类的事实。在此处查看在线文档,以了解可以得到什么。应该足够了。