我有可以分配许多类别的帖子。所以它是一个多对多的关系。
我想计算每个类别中有多少帖子(符合特定标准),然后对结果进行排序。
我有:
Select ( Select count(post.id)
From post
Join category as postcat
where postcat.id = category.id
and (post.deleted is null or post.deleted = false)
and ...
), category
From category
order by ????? DESC, category.name
我想按计数列排序。但我不能在上面声明别名。它只是忽略我添加的任何别名。然后抛出一个sql错误说:
java.sql.SQLSyntaxErrorException:[Macromedia][SQLServer JDBC 驱动程序][SQLServer]列名“numPosts”无效。
这是我尝试过的:
...
and (post.deleted is null or post.deleted = false)
and ...
) as numPosts, category
From category
order by numPosts DESC, category.name
我检查了 HQL 运行时日志,并没有在计数上设置“as numPosts”。我不知道如何解决这个问题。