错误:列"p.PropName“必须出现在GROUP子句中或在聚合函数中使用
我在下面的查询(PostgreSQL)上得到了上面的错误。我如何重写它以包括p / EXTR_Parcel中的所有列
SELECT
CONCAT(p. "Major", p. "Minor") AS "pin",
p.*,
json_agg(json_build_object('year', a. "RollYr", 'landVal', a. "LandVal",
当运行以下查询时,我会收到一个错误:
SELECT
$__timeGroupAlias(receivedat,$__interval),
SUBSTRING(message, '(?:[0-9]{1,3}\.){3}[0-9]{1,3}') AS the_address,
COUNT (message) AS ip
FROM systemevents
WHERE
$__timeFilter(receivedat)
GROUP BY the_address
ORDER BY ip DESC
LIMIT 10
误差
db查询错误: pq:列"syste
select
case
when daftar ='sd' then kouta
end as a,
case
when daftar = 'smp' then kouta
end as b,
case
when daftar = 'sma' then kouta
end as c
from
ajaran
GROUP BY
tahun
结果误差
错误:列"ajaran.daftar“必须出现在GROUP子句中,或者在聚合函数行
我有一个在MySQL上运行良好的查询,现在不在PostgreSQL上了--这是一个查询:
SELECT "users".*
FROM "users"
JOIN "favorites" ON "favorites"."user_id" = "users"."id"
WHERE users.id NOT IN (2)
AND favorites.favoritable_id IN (1)
GROUP BY favorites.user_id
OR
我有一个在SQLite中正确工作的查询。但它在PostgreSQL中的给出错误。
SELECT decks.id, decks.name, count(cards.id)
from decks
JOIN cards ON decks.id = cards.did
GROUP BY cards.did
上面的查询在postgresql中出现错误。
错误:列" decks.id“必须出现在GROUP子句中,或用于聚合函数行1:从decks联接中选择decks.id、decks.name、count(cards.id)。
我的代码在SQL数据库中运行良好,但是当试图在postgresql上执行时,它会开始抛出一个错误。我试着在GROUP,甚至symbol.symbol后面加上“符号”
SELECT symbol,name,price,total, SUM(shares)
FROM symbol
WHERE user_id=?
GROUP BY name
列"symbol.symbol“必须出现在GROUP子句中,或者在聚合函数中使用。
我有一个在MySQL中正确工作的查询。关于它的更多背景。
SELECT c.*, SUM(ABS(v.vote)) AS score
FROM categories c,items i, votes v
WHERE c.id = i.category_id
AND i.id = v.voteable_id
AND v.created_at > '#{1.week.ago}'
GROUP BY c.id
ORDER BY score DESC LIMIT 8;
我尝试在PostgreSQL中运行它,但是它在这条错误消息中失败了。
PGError:
我有一个工会问题:
(SELECT
to_char(createdatutc,'YYYY') as "Yr",
to_char(createdatutc,'MM') as "Mh",
count(postid) as Freq
FROM conversations
WHERE type = 'Post'
GROUP BY Yr, Mh
HAVING Yr = '2018')
UNION
(SELECT
to_char(createdatutc,'YYYY
我试图将PostgreSQL输出输入Grafana,但存在错误。
db查询错误: pq:列"systemevents.receivedat“必须出现在GROUP子句中或在聚合函数中使用
这是密码
SELECT
$__timeGroupAlias(receivedat,$__interval),
SUBSTRING(message, '(?:[0-9]{1,3}\.){3}[0-9]{1,3}') AS the_address,
COUNT(message) as cc
FROM systemevents
WHERE
$__timeFilter(
以下查询在MySQL中工作:
SELECT
f.created_date as time_sec
,sum(f.value) as value
, date_format( f.created_date , '%a') as metric
FROM ck_view_fills as f
GROUP BY date_format(f.created_date, '%a' )
我已经将我的数据库迁移到PostgreSQL,现在我正在将我的查询转换为匹配。我天真的转换如下:
SELECT
f.created_date as time_sec
,su
我在做PostgreSQL练习时遇到了一个问题--按价值对设备进行分类。以下是问题链接:
我试过:
select name,
(case when rank <= max(rank)/3 then 'high'
when rank > max(rank)/3 and rank <= max(rank)*2/3 then 'average'
else 'low' end) as revenue
from
(select name, rank() over (order by sum(
我尝试将一个应用程序从MySQL重写为PostgreSQL。
在MySQL中,我有SQL语句:
SELECT u.guid, u.*
FROM ossn_users as u
WHERE(u.time_created IS NOT NULL)
ORDER by u.guid ASC
LIMIT 0, 10;
在Postgres中,我得到了这个语句错误。错误:列u.guide必须出现在GROUP BY子句中或在聚合函数中使用
我将PostgreSQL的SQL语句修改为:
SELECT u.guid, u.*
FROM ossn_users as u
WHERE(u.time_crea
考虑一个包含a-z字段的PostgreSQL表。
a, b, c ... z
-------------
5, 6, 2 ... 9
5, 6, 3 ... 1
我想在字段a,b上做一个组,只保留b最大的记录。
SELECT a, max(b) as b, c, d, e ... z
FROM table
GROUP BY a, b
这很好,但是必须键入SELECT中的所有值是很烦人的。我宁愿做这样的事
SELECT max(b) as b, *
FROM TABLE
但这样做是错误的
42803错误:列"table.id“必须出现在GROUP子句中,或者在聚合函数中使用。
知道
我在postgresql中有这个查询,我所期望的是一个有两个列的表。一个叫计数器,另一个叫forn_primario。但是我得到了这个错误:“列"forn_primario”必须出现在GROUP子句中,或者在聚合函数中使用“
Select MAX(contador) as counter, forn_primario
From(
Select COUNT(DISTINCT categoria) as contador, forn_primario
From produto
Group by forn_primario)t
同样在这个查询之后
Select COUNT(DISTINCT
我试图截断一个日期,并按值分组。我试过这样做:
JPA
select v.sop, FUNC('DATE_TRUNC', 'day', v.scrappedAt) as dt, sum(v.totalValue)
from TABLE v
where v.coordStatus like 'done%' and (:plant is null or v.target =
:plant) and v.scrappedAt is not null
group by v.sop, dt
我也尝试过按FUNC分组
select v.sop, FU
我使用的是PostgreSQL和Spring3.1 NamedParameterJdbcTemplate。
如果我有一些SQL在Select & Group By子句中使用了命名参数,Postgres会将其作为错误的语法返回。在手动替换参数的情况下运行查询将正常工作。
假设有一个名为' table‘的表,其中包含两列"id“和"number”
此SQL:
SELECT some_function(id, :param), avg(number) FROM table GROUP BY some_function(id, :param)
变为(由数据库记录):
S
我正在更新Qt软件,以使其与SQLite和PostgreSQL兼容。我有一个C++方法,用于用给定的子句对给定表的元素进行计数。
在SQLite中,下面的操作给了我一个数字N(计数)。
SELECT COUNT(*) FROM table_a
INNER JOIN table_b AS
ON table_b.fk_table_a = table_a.id
WHERE table_a.start_date_time <> 0
ORDER BY table_a.creation_date_time DESC
对于PostgreSQL (我使用的是9.3),我有以下错误:
错误:列&
我非常熟悉MySQL语法,但在PostgreSQL环境中似乎遇到了一些麻烦。在MySQL中,可以很容易地在联接子查询中引用列,但PostgreSQL中会抛出错误。
例如:
SELECT
a.userID,
b.firstname,
c.minCounter
FROM users a
JOIN users_info b ON (a.userID = b.userID)
LEFT JOIN (
SELECT
user_id,
COUNT(*) AS 'minCounter'
FROM sales
WHERE
tota
使用PostgreSQL 11.18
即使所有列都出现在select子句中,也可以通过只包含主键的组从表中选择行:
CREATE TABLE table1(
id int NOT null PRIMARY KEY,
column2 int,
column3 int
);
SELECT id, column2, SUM(column3)
FROM table1
GROUP BY id;
这是因为column2对id具有函数依赖性,因此不需要包含它,并且column3被用作聚合函数的参数。
如果用视图替换对表的查询,这只是表中所有列的选择:
CREATE VIEW view1
我在PostgreSql数据库中使用三个表如下:
Customer(Id, Name, City),
Product(Id, Name, Price),
Orders(Customer_Id, Product_Id, Date)
我想执行一个查询,从他们那里得到“已经订购了至少两种不同产品的客户”。我编写的查询是:
select c.*, p.*
from customer c
join orders o on o.customer_id = c.id
join product p on p.id = o.product_id
group by (c.id)
having count(dist
我们有一些编码问题,我需要检查BOM是否已经出现在PostgreSQL文本列中。我用过
select convert(varbinary, columnXY) from tableXY where id = 1;
对于成功的MS,但不要为PostgreSQL找到等效的转换。我找到了这个,并尝试使用decode(columnXY, 'hex'),但这是行不通的。
我有很大的SQL,大约50行,我们在Postgresql中使用JDBI,我需要添加一个额外的非强制性列,所以我做到了:
,case when :byPortfolio is true then ia1.investmentAccountAbbreviationCode else null end as portfolio
因此,如果:byPortfolio为true,则应删除该列,如果为false,则应存在此列。另外,如果有,Ia1. ia1.investmentAccountAbbreviationCode应该出现在Group子句中,因此我补充道:
,case when :byPortfol
我在使用PostgreSQL的PHP应用程序上遇到了问题。我有一个简单的SQL语句,如下所示:
select count(*) as aggregate from "categories" where "promoter_id" = ? order by "sort_order" asc
但是,它会触发以下错误:
SQLSTATE42803:分组错误:7错误:列"categories.sort_order“必须出现在GROUP by子句中,或者在聚合函数行1:...om”类别“中使用,其中"promoter_id”= $1顺序由
考虑一个具有N个列数的postgresql表。一列包含二项式分类[0 1]。我希望按照下面的语法对数据进行分组(对于python使用psycopg2,对于nodejs使用pg ):
SELECT dummy_field,
COUNT(*)
FROM __table__
WHERE q_id = '2F5543E89823'
GROUP BY dummy_field
此查询返回例如:[(0, 1606), (1, 6674)]值。我更改了上面的语法,以便只包含基于CURRENT_TIMESTAMP的最后两天。
这将是:
...
AND date_field > CURREN
我有一个Laravel查询,当我们的数据库使用我们的MySQL DB时,它可以工作,但当我切换到新的PostgreSQL DB时,它停止工作。
我使用Laravel的group by函数,如下所示:
$this->crud->groupBy('leads.id')
翻译成mysql的整个查询如下:
select count(*) as aggregate
from (select leads.* from leads
where leads.club_id in ('TR71') and
leads.deleted_at is null GRO
我想创建一些汇总统计信息,并通过Postgresql在我的数据中实现控制结构。为此,我使用group by。问题是我不想在"Select“子句中显示列,但group by子句强制我也使用该列 我已经尝试使用下面的代码,但不幸的是,我不希望按“Valuenum”进行分组。但是,我想使用该列创建一个新列(within_range),如下面的查询所示。我的实际数据如下所示。请注意,这只是一个示例。对于不同hadm_ids,subject_ids可能会重复 ? select subject_id,hadm_id,count(*) as "Total no of records
我对postgresql很陌生。有人能提出这个错误的原因和解决方案吗?然而,如果我选择一个额外的和(s.length),它是有效的,但是我不会在我的结果中这样做。
代码:
create or replace view q1("group",album,year)
as
select g.name, a.title, a.year
from Groups g, Albums a, Songs s
where a.made_by = g.id and s.on_album = a.id
group by a.title, g.name, a.year
order by sum(s.