SQL group by ntext类型不可分组

baibaip 2014-09-07 07:07:03
sql = "select h_contents,h_update,count(1) from huida where ********* group by h_contents,h_update order by id asc"

这样的话 会提示 不能比较或排序 text、ntext 和 image 数据类型
用聚合函数就要将其他字段group by
我擦 分组 不分组 全都出错 这是搞哪样
...全文
376 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoxiangqing 2014-09-08
  • 打赏
  • 举报
回复
建议用varchar(max),nvarchar(max),binary(max)来代替
唐诗三百首 2014-09-07
  • 打赏
  • 举报
回复
建议将h_contents字段改为nvarchar(max)类型.
  • 打赏
  • 举报
回复
或者 如果你存储的字节数没有超过8000个,那么在2005及以后的版本,可以考虑这样:
select cast(h_contents as varchar(8000)) h_contents,h_update,count(1) from huida where ********* 
group by cast(h_contents as varchar(8000)),h_update order by id asc
  • 打赏
  • 举报
回复
引用 3 楼 baibaip 的回复:
h_contents 是ntext类型 h_update 是字符串 我就不明白 使用聚合函数了 就必须要把非聚合的group by 出来 可是 ntext,image 又不能group by 那怎么办
大数据类型肯定是不能group by的,不管是在什么数据库,都是这样。 所以你还不如,单独计算一个h_contents字段的md5值,作为group by的依据呢
baibaip 2014-09-07
  • 打赏
  • 举报
回复
h_contents 是ntext类型 h_update 是字符串 我就不明白 使用聚合函数了 就必须要把非聚合的group by 出来 可是 ntext,image 又不能group by 那怎么办
baibaip 2014-09-07
  • 打赏
  • 举报
回复
我去掉order by 也不对呀 还是提示 不能比较或排序 text、ntext 和 image 数据类型
xiaodongni 2014-09-07
  • 打赏
  • 举报
回复
表的元数据能贴出来吗? group by h_contents,h_update order by id asc 你这个没法按照ID排序。不在聚合函数也不再GROUP BY之中啊

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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