Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Rails的PostgreSQL分组错误_Sql_Ruby On Rails_Postgresql_Grouping - Fatal编程技术网

使用Rails的PostgreSQL分组错误

使用Rails的PostgreSQL分组错误,sql,ruby-on-rails,postgresql,grouping,Sql,Ruby On Rails,Postgresql,Grouping,我有以下疑问: SELECT EXTRACT ( HOUR FROM interventions.created_at :: TIMESTAMP ) AS DATE, COUNT (interventions. ID) AS total FROM "interventions" INNER JOIN medical_records ON ( ( medical_records.medical_recordable_type = 'I

我有以下疑问:

SELECT
EXTRACT (
    HOUR
    FROM
        interventions.created_at :: TIMESTAMP
) AS DATE,
COUNT (interventions. ID) AS total
FROM
    "interventions"
INNER JOIN medical_records ON (
    (
        medical_records.medical_recordable_type = 'Intervention'
    )
    AND (
        medical_records.medical_recordable_id = interventions. ID
    )
)
INNER JOIN patients ON (
    patients. ID = medical_records.patient_id
)
WHERE
    (
         interventions.created_at BETWEEN '2011-11-10 00:00:00'
         AND '2014-11-10 00:00:00'
    )
AND (
    medical_records.hospitalization = FALSE
)
AND (
    patients.birth_date BETWEEN '1892-12-31 23:50:39'
    AND '2013-12-31 22:59:59'
)
GROUP BY
    DATE
ORDER BY
    interventions. ID DESC,
    DATE ASC
我得到以下错误:

PG::GroupingError: ERROR:  column "interventions.id" must appear in the GROUP BY clause or be used in an aggregate function
以下是我的代码的相关部分:

query = query.select("EXTRACT(HOUR FROM interventions.created_at::timestamp) AS date, COUNT(interventions.id) AS total")
query = query.group("EXTRACT(HOUR FROM interventions.created_at::timestamp)")
query = query.order("EXTRACT(HOUR FROM interventions.created_at::timestamp) ASC")
我不明白,因为select中的COUNT()函数中使用了列“interferences.id”

有没有办法解决这个问题


谢谢。

从ORDER BY子句中删除干预措施\u id。

类似的问题在,最好检查一下……我已经使用了自定义select,我添加了代码;-)你的意思是在你的代码中说“咨询”还是“干预”!事实上,
orderbyinterferences.id
是由我的模型中的
default_scope
ORDER('interferences.id DESC')`添加的。谢谢