sql - MySQL 到 PostgreSQL : How to modify this SQL query?

标签 sql mysql postgresql refactoring

我有一个使用 MONTH()YEAR() 的 MySQL 查询:

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 配合使用?

最佳答案

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

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

顺便说一句:这是标准 (ANSI) SQL,也适用于 MySQL。

关于sql - MySQL 到 PostgreSQL : How to modify this SQL query?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4493705/

相关文章:

MySQL join 两个独立的查询结果

php - 从循环输出值导致值为零

php - Laravel Eloquent PostgreSQL 保存数组错误: preg_replace(): Parameter mismatch

mysql - SQL 在计数和分组依据中使用 CASE

sql - 如何在垂直设计的表格上实现搜索?

mysql - MySQL 命令 SELECT 的奇怪行为

ruby-on-rails - 将模型属性限制为 Rails 中的值列表的方法是什么?

PHP:使用选择选项过滤 SQL 查询

sql - 我应该使用自联接吗

python - 在aws中获取表的列名作为元组而不是字符串