当前位置: 首页 > 面试题库 >

从MySQL到PostgreSQL:如何修改此SQL查询?

娄嘉石
2023-03-14
问题内容

我有这个MySQL查询,它使用MONTH()YEAR()

SELECT 
  MONTH(created_at) AS month, 
  YEAR(created_at) AS year 
FROM users 
GROUP BY MONTH(created_at), YEAR(created_at) 
ORDER BY YEAR(created_at), MONTH(created_at)

我将如何修改该查询以使其与PostgreSQL一起使用?


问题答案:
选择 
  从AS月份提取(从created_at的MONTH), 
  提取(从created_at中的YEAR)作为AS年 
来自用户 
GROUP BY提取(created_at中的MONTH),提取(created_at中的YEAR) 
ORDER BY提取(created_at为MONTH),提取(created_at为YEAR)

这是最新的手册
http://www.postgresql.org/docs/current/static/functions-
datetime.html#FUNCTIONS-DATETIME-
EXTRACT


顺便说一句:这也是在MySQL上也可以使用的标准(ANSI)SQL。



 类似资料:
  • 问题内容: 今天,我遇到了一个有趣的SQL问题,尽管我想出了一个行之有效的解决方案,但我怀疑这是最佳还是最有效的答案。在这里,我请专家- 帮助我学习一些知识并改善查询条件!RDBMS是SQL Server 2008 R2,查询是SSRS报告的一部分,该报告将针对约100,000行运行。 本质上,我有一个ID列表,该ID可能具有多个与之关联的值,这些值是Yes,No或其他字符串。对于ID x,如果任

  • 创建表。( INT NOT NULL AUTO_INCREMENT, VARCHAR(45)为空, 主键()); 创建表。( 十进制(6,2)为空, 十进制(6,2)为空, VARCHAR(45)为空, 插入.(,,,)值(101、'joselin','1000','dexcity'); 插入.(,,,)值(102、“rusfal”,“0”,“donxes”);在.(,,,)中插入值(103、“r

  • 问题内容: 我有此查询,它运行良好 从此查询中,我从我的位置(这是我的第一张表)中选择所有3 KM的餐厅。 但是我需要从3Km中的食品接头中选择AVG等级。 该查询也运行完美: 但是我需要添加这两个查询,通过它们我可以选择所有那些食品接头及其等级AVG。 问题答案: 只需放置子查询,您将得到结果:

  • 我在索引此查询时遇到问题: 结果是: 我知道它显示0.00秒是执行时间,但此查询将运行多次,它显示它会减慢我的数据库,我不知道为什么! 每次我看到行检查是459448这个查询,所以它在某些原因对我的工作相当糟糕。 有人能给个建议吗?我如何为odata表制作合适的索引?或者我可以使用子查询来修复它? 这些表是: 解释odata: 并解释 wdata: 不得不说wdata.id和odata.vref已

  • 问题内容: 我想我正在解决这个问题,但是遇到了另一个障碍,并且不知道如何解决它 此查询有什么问题- 只需获取通用的“您有一个错误”,它指向联接,但我不知道如何解决它。我想要对customer_address_entity进行联接,因为它具有我需要在其中一条select语句中使用的另一个唯一ID。 问题答案: 首先,您的代码如下所示: 很明显,您在FROM之前有JOIN。 其次,您有一个带有unic

  • 问题内容: 我有一个表,像这样的数据: 表结果: 我需要涵盖以下所有方案的输出。 对于“审计”和“历史记录”字段应如何显示值有一条经验法则; 记录仅对于 原始帐户 应具有Audit =“ ADD”或“ CHANGE”&History =“ NEW”,“ BEFORE”或“ CURRENT” (这意味着表中的条目肯定从CurrNo = 1开始) 对于这种类型的帐户,记录不应该具有针对 迁移帐户的 A