hibernate hql语句 order by问题

sunshine-sm 2016-10-14 04:02:44
一下代码是hibernate hql语句,这样写有什么问题,求各位大神帮忙。。。
SQL语句在ORDER BY后面是可以接select语句的,为什么hql这样写不行,该如何修改??
求教,在线等答案


SELECT
g
FROM
Goods g
WHERE
1 = 1
AND g.category.id = : categoryId
AND g.isOutOfSale = : isOutOfSale
ORDER BY
(
SELECT
IFNULL(SUM(og.number), 0)
FROM
OrderGoods og
WHERE
g.id = og.goods.id
AND og. ORDER .isValid = TRUE
) DESC
...全文
645 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunshine-sm 2016-10-22
  • 打赏
  • 举报
回复
引用 6 楼 bcsflilong 的回复:
你这个SQL 貌似都不行啊
这个是没有问题的,我亲自测试的。
sunshine-sm 2016-10-22
  • 打赏
  • 举报
回复
引用 1 楼 qq_35368995 的回复:
order by cast(...)

SELECT
	g
FROM
	Goods g
WHERE
	1 = 1
AND (
	g.goodsName LIKE : keyWord
	OR g.goodsShortName LIKE : keyWord
	OR g.goodsSn LIKE : keyWord
)
AND g.isOutOfSale = : isOutOfSale
ORDER BY
	CAST(
		(
			SELECT
				COALESCE (SUM(og.number), 0) AS sales
			FROM
				OrderGoods og
			WHERE
				g.id = og.goods.id
			AND og. ORDER .isValid = TRUE
		) AS INT
	) DESC
我改成这样还是不行啊,是我写错了吗?大神能不能帮我修改一下呢?
sunshine-sm 2016-10-22
  • 打赏
  • 举报
回复
引用 5 楼 u014181631 的回复:
你确定不是可以根据不是表字段进行排序??!!?!??!?!?!??!?!?
我直接写的sql可以的。但是hql语句我就不清楚了,反正我是没成功.......
___d 2016-10-19
  • 打赏
  • 举报
回复
你确定不是可以根据不是表字段进行排序??!!?!??!?!?!??!?!?
能源恒观 2016-10-19
  • 打赏
  • 举报
回复
能这样用吗,能根据不是表里的字段排序吗
bcsflilong 2016-10-19
  • 打赏
  • 举报
回复
你这个SQL 貌似都不行啊
sunshine-sm 2016-10-18
  • 打赏
  • 举报
回复
引用 2 楼 jing150428 的回复:
你sql这么写也不行啊 ,order by 后边是表里的字段,不明白 你order by 后边为什么要用个子查询
在sql中order by 后面是可以用select 查询的。 我的商品列表要根据销量排序,销量是需要由多张表综合查询才能得到。
子夜静舞 2016-10-14
  • 打赏
  • 举报
回复
你sql这么写也不行啊 ,order by 后边是表里的字段,不明白 你order by 后边为什么要用个子查询
qq_35368995 2016-10-14
  • 打赏
  • 举报
回复
order by cast(...)

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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