这个查询语句应该怎么写?

dpjf 2007-03-15 01:57:42
做一个查询页面,是名称查询。
string sql = "select count(*) as count ,id, mc, unit_name,unit_organ, convert(char(10),build_date,120) as build_date from cases where mc like '%" + mc + "%' ";
为什么老是提示
列 'cases.mc' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
列 'cases.unit_name' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
列 'cases.unit_organ' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
列 'cases.build_date' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
...全文
137 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dnvodcwan 2007-03-15
  • 打赏
  • 举报
回复
聚合函数cuont是分组统计函数,所以要同时用group by 进行分组.

paoluo(一天到晚游泳的鱼) 答案却可
paoluo 2007-03-15
  • 打赏
  • 举报
回复
錯誤提示已經說明瞭錯誤的原因了
shuijun 2007-03-15
  • 打赏
  • 举报
回复
这条SQL语句用了聚合函数cuont,所以在where语句后面需要加group by 语句。
正确的如下:
string sql = "select count(*) as count ,id, mc, unit_name,unit_organ, convert(char(10),build_date,120) as build_date from cases where mc like '%" + mc + "%' group by id, mc, unit_name,unit_organ,build_date";
paoluo 2007-03-15
  • 打赏
  • 举报
回复
string sql = "select count(*) as count ,id, mc, unit_name,unit_organ, convert(char(10),build_date,120) as build_date from cases where mc like '%" + mc + "%' group by id, mc, unit_name,unit_organ, convert(char(10),build_date,120) ";
WangZWang 2007-03-15
  • 打赏
  • 举报
回复
string sql = "select count(*) as count ,id, mc, unit_name,unit_organ, convert(char(10),build_date,120) as build_date from cases where mc like '%" + mc + "%'
group by id,mc,unit_name,unit_organ, convert(char(10),build_date,120) ";
tangqijun199 2007-03-15
  • 打赏
  • 举报
回复
string sql = "select count(*) as count ,id, Max(mc), max(unit_name),max(unit_organ), max(convert(char(10),build_date,120)) as build_date from cases where mc like '%" + mc + "%' group by id ";

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧