访问:“无法对使用“*”选择的字段进行分组。”
Access: ‘Cannot group on fields selected with '*'.’
我正在尝试根据各种 like
标准 select 行,并编写了以下函数:
SELECT *,
COUNT(YRKE) AS Antall_med_yrket
FROM [T8 kopi (til sletting) av T7 3]
WHERE YRKE like "*læge*"
OR YRKE like "*præst*"
OR YRKE like "*Lærer*"
OR YRKE like "*lærer*"
OR YRKE like "*chef.*"
OR YRKE like "*mester*"
OR YRKE like "*Portner*"
OR YRKE like "*portner*"
⋮
OR YRKE like "*fuglefanger*"
⋮
OR YRKE like "*Glasanfanger*"
GROUP BY YRKE
;
'⋮'表示省略的行。我想要做的是显示出现指定单词的所有行,并显示这些单词的命中次数。示例输出:
ID NAVN YRKE Antall_med_yrket
1 Ole Olsen Fuglefanger 3
2 Per Olsen Skogbruger (Fuglefanger) 3
3 Olav Krogh Fængselslæge 1
4 Kristen Persen Gaardbruger (Fuglefanger) 3
5 Per Kristensen Fængselsdirecteur 1
但是,当我添加 COUNT
行时,我收到如标题所示的错误消息。删除该行会根据需要提供所有行的输出,但当然没有计数。我做错了什么?
我在 Oracle 上使用 MS Access 2007。
这是正确的。以下应该有效:
SELECT YRKE, COUNT(YRKE) AS Antall_med_yrket
FROM [T8 kopi (til sletting) av T7 3]
WHERE YRKE like "*læge*"
OR YRKE like "*præst*"
OR YRKE like "*Lærer*"
OR YRKE like "*lærer*"
OR YRKE like "*chef.*"
OR YRKE like "*mester*"
OR YRKE like "*Portner*"
OR YRKE like "*portner*"
⋮
OR YRKE like "*fuglefanger*"
⋮
OR YRKE like "*Glasanfanger*"
GROUP BY YRKE;
在SQL聚合查询中,SELECT
中的列一般需要为以下之一:
- 在
GROUP BY
中明确提到。
- 由
GROUP BY
中明确提及的列组成的表达式。
- 聚合函数的参数,例如
SUM()
或MIN()
。
注意:在某些数据库中允许有一个例外(基本上,您可以说 GROUP BY id
并在 id
唯一时使用其他列)。但是,MS Access 和 Oracle 都不支持该功能。
我正在尝试根据各种 like
标准 select 行,并编写了以下函数:
SELECT *,
COUNT(YRKE) AS Antall_med_yrket
FROM [T8 kopi (til sletting) av T7 3]
WHERE YRKE like "*læge*"
OR YRKE like "*præst*"
OR YRKE like "*Lærer*"
OR YRKE like "*lærer*"
OR YRKE like "*chef.*"
OR YRKE like "*mester*"
OR YRKE like "*Portner*"
OR YRKE like "*portner*"
⋮
OR YRKE like "*fuglefanger*"
⋮
OR YRKE like "*Glasanfanger*"
GROUP BY YRKE
;
'⋮'表示省略的行。我想要做的是显示出现指定单词的所有行,并显示这些单词的命中次数。示例输出:
ID NAVN YRKE Antall_med_yrket
1 Ole Olsen Fuglefanger 3
2 Per Olsen Skogbruger (Fuglefanger) 3
3 Olav Krogh Fængselslæge 1
4 Kristen Persen Gaardbruger (Fuglefanger) 3
5 Per Kristensen Fængselsdirecteur 1
但是,当我添加 COUNT
行时,我收到如标题所示的错误消息。删除该行会根据需要提供所有行的输出,但当然没有计数。我做错了什么?
我在 Oracle 上使用 MS Access 2007。
这是正确的。以下应该有效:
SELECT YRKE, COUNT(YRKE) AS Antall_med_yrket
FROM [T8 kopi (til sletting) av T7 3]
WHERE YRKE like "*læge*"
OR YRKE like "*præst*"
OR YRKE like "*Lærer*"
OR YRKE like "*lærer*"
OR YRKE like "*chef.*"
OR YRKE like "*mester*"
OR YRKE like "*Portner*"
OR YRKE like "*portner*"
⋮
OR YRKE like "*fuglefanger*"
⋮
OR YRKE like "*Glasanfanger*"
GROUP BY YRKE;
在SQL聚合查询中,SELECT
中的列一般需要为以下之一:
- 在
GROUP BY
中明确提到。 - 由
GROUP BY
中明确提及的列组成的表达式。 - 聚合函数的参数,例如
SUM()
或MIN()
。
注意:在某些数据库中允许有一个例外(基本上,您可以说 GROUP BY id
并在 id
唯一时使用其他列)。但是,MS Access 和 Oracle 都不支持该功能。