这个查询语句应该怎么写?
做一个查询页面,是名称查询。
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 子句中。
------解决方案--------------------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) ";
------解决方案--------------------这条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 ";
------解决方案--------------------錯誤提示已經說明瞭錯誤的原因了
------解决方案--------------------聚合函数cuont是分组统计函数,所以要同时用group by 进行分组.
paoluo(一天到晚游泳的鱼) 答案却可