0

我遇到了sql問題。我不知道爲什麼訪問和SQL Server不斷顯示我的錯誤。 我使用phpmyadmin,但沒有問題。不能在sql中混合排序並按組排序

我有1張桌子。我的表名是T_DATA

ID MasterCode DetailCode Description Item Status 
1  1   1.1  Resources Meat  1 
2  1   1.1  Resources Meat  1 
3  1   1.1  Resources Meat  1 
4  1   1.1  Resources Meat  1 
5  3   3.1  Utility oil  1 
6  2   2.1  Transport BBM  1 

我想查詢該表,並希望結果是這樣的:

MasterCode Description 
    1  Resources 
    2  Utility 
    3  Transport 

這裏是我的SQL語法

"select MasterCode, Description from t_data group by Description order by MasterCode" 

通常我只是使用SQL語法,我可以得到我想要的。但現在我不能。

您試圖執行不包含指定表達式作爲聚合函數的查詢。

我得到了那個錯誤,如果我使用訪問和sql服務器。如果我在XAMPP中使用phpmyadmin,它工作正常。但我不想使用phpmyadmin。我想使用訪問或sql服務器。

我已經在谷歌上搜索有關該錯誤的信息。我把我的sql改成這個。

"select count(*), Description from t_data group by Description " 

"select a.categoryMaster, b.categoryDesc from t_category a inner join t_category b on a.categoryDetail = b.categoryDetail"

沒有解決我的問題,因爲我想獲得MASTERCODE了。

任何解決方案?謝謝。

回答

4

您可以使用DISTINCT

select distinct MasterCode, Description 
from t_data 
order by MasterCode; 

SQL Fiddle with Demo

,或者您可能能夠使用像MAX()聚合函數:

select max(MasterCode) MasterCode, Description 
from t_data 
group by Description 
order by MasterCode; 

SQL Fiddle with Demo

+0

我喜歡不同的,但除此之外,爲什麼不'選擇t_data.mastercode,t_data.description FROM T_DATA GROUP BY t_data.mastercode,t_data.description'? – Fionnuala

+0

@Remou我最初與'DISTINCT'一起去的時候,當我要添加「GROUP BY」答案時,它已經發布,所以我不想複製它。 :) – Taryn

+0

Remou - 我已經像你之前所說的那樣發表了這個問題。但我得到了一個錯誤。 :) @bluefeet - 謝謝你的回答。它的正確..但第二個它給了我一個錯誤。 :) –

1

試試這個

SELECT MasterCode, Description 
FROM t_data 
GROUP BY Description, MasterCode 
ORDER BY MasterCode 
+0

嗨..感謝您的回答。它給我正確的輸入..但bluefeet先來..我只是投了+1。謝謝。 :) –

+0

高興地看到它幫助你!:) –

1
select min(MasterCode) MasterCode, Description 
from t_data 
group by Description 
order by MasterCode 

OR

select MasterCode, Description 
from t_data 
group by MasterCode,Description 
order by MasterCode 
+0

嗨..謝謝你的回答..第一個是正確的..但是第二個,我碰到一個錯誤.. bluefeet先來正確的答案..我只是給你的投票+1。謝謝。 :) –

+0

爲什麼第二個nt正確? – AnandPhadke

+0

我得到了這個錯誤。 「由查詢定義的SELECT列表中的別名'MasterCode'導致的循環引用... –