我在我的SQL Server數據庫中有這個表。T-SQL/SQL Server中的GROUP BY錯誤
CREATE TABLE [dbo].[CODIFICHE_FARMACI]
(
[Principio_Attivo] [nvarchar](250) NULL,
[LanguageID] [nvarchar](50) NOT NULL,
[Codice] [nvarchar](50) NOT NULL,
[Confezione_rif] [nvarchar](1000) NULL,
[ATC] [nvarchar](100) NULL,
[Farmaco] [nvarchar](1000) NULL,
[Confezione] [nvarchar](1000) NULL,
[Ditta] [nvarchar](100) NULL,
CONSTRAINT [PK_CODIFICHE_FARMACI]
PRIMARY KEY CLUSTERED ([LanguageID] ASC, [Codice] ASC)
)
現在我想從這張表中提取第一個60個記錄組Farmaco
列。
所以我寫了這個查詢:
SELECT TOP 60 *
FROM CODIFICHE_FARMACI
GROUP BY Farmaco
但是我有這個奇怪的錯誤:
La colonna 'CODIFICHE_FARMACI.Principio_Attivo' non è valida nell'elenco di selezione perché non è inclusa né in una funzione di aggregazione né nella clausola GROUP BY.
英文:
The column 'CODIFICHE_FARMACI.Principio_Attivo' is invalid in the select list because it is not included in either an aggregate function or the GROUP BY clause.
編輯:此查詢,我得到這個結果
正如你可以看到我有複製列Farmaco(有兩次ABBA,ABESART)
EDIT as result I want :
|FARMACO|
ABBA
ABESART
ABILIFY
你能告訴我們樣品的輸入和輸出嗎? –
所有列都是nvarchar。按某個字段進行分組意味着您要接收該字段的不同值以及其他字段的某個合計值(總和,平均值,最小值,最大值)。您希望獲得nvarchar字段的什麼總值? – ventik