我是Grails的新手,我有个大问题。我有一个域名:
class Product{
String name
Integer priority
Double quantity
}我想按优先级(为0或1) - desc对产品进行排序,然后按数量排序。在mysql中,我这样做:
select name, IF(quantity>=1,1,0) as q from product
where ...
order by priority desc, q desc, id descmysql中有alse CASE语句,但在Grails中,我不知道如何为此创建条件。
提前感谢!
发布于 2020-01-22 04:14:16
Product.createCriteria().list(){
projection{ // 1. because you only want to getname list.
property("name")
}
ge("quantity", 1) // 2. greater than or equal 1
order("priority", "desc" ) // by default "asc"
order("quantity", "desc" )
order("id", "desc" )
};发布于 2012-02-17 09:09:43
试着在下面做些事情:
select name,IF(quantity>=1,1,0) as q
from product
where ...
order by IF(priority=1,0,1), q desc, id desc考虑优先级1=高0=low
请做必要的更改
https://stackoverflow.com/questions/9325301
复制相似问题