我遇到了sql的问题。我不知道为什么访问和SQL服务器继续向我显示错误。 我使用phpmyadmin,但没有问题。
我有一张桌子。我的表名是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语法,我可以得到我想要的。但现在我做不到。
您尝试执行的查询不包含指定表达式作为聚合函数。
如果我正在使用access和sql server,那我就得到了这个错误。如果我在XAMPP中使用phpmyadmin,它运行正常。但我不想使用phpmyadmin。我想使用access或sql server。
我已经在google上搜索了这个错误。我把我的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。
任何解决方案?谢谢。
答案 0 :(得分:4)
您可以使用DISTINCT
:
select distinct MasterCode, Description
from t_data
order by MasterCode;
或者您可以使用像MAX()
这样的聚合函数:
select max(MasterCode) MasterCode, Description
from t_data
group by Description
order by MasterCode;
答案 1 :(得分:1)
试试这个
SELECT MasterCode, Description
FROM t_data
GROUP BY Description, MasterCode
ORDER BY MasterCode
答案 2 :(得分: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