Skip to content

Instantly share code, notes, and snippets.

@flashcloud
Created December 7, 2022 04:55
Show Gist options
  • Save flashcloud/6d1fac153268d9579d7591a025269853 to your computer and use it in GitHub Desktop.
Save flashcloud/6d1fac153268d9579d7591a025269853 to your computer and use it in GitHub Desktop.
grails gorm 行转列
//来自:https://blog.csdn.net/qq_16165281/article/details/98483094
import org.hibernate.criterion.CriteriaSpecification
def index() {
def result = CustomerScoreCard.createCriteria().list {
resultTransformer(CriteriaSpecification.ALIAS_TO_ENTITY_MAP)
projections {
salProjection """
group_concat (fileIds) filelds,
MAX (CASE month WHEN '1月' THEN val ELSE O END ) 1月,
MAX (CASE month WHEN '2月' THEN val ELSE O END ) 2月,
MAX (CASE month WHEN '3月' THEN val ELSE O END ) 3月,
MAX (CASE month WHEN '4月' THEN val ELSE O END ) 4月,
MAX (CASE month WHEN '5月' THEN val ELSE O END ) 5月,
MAX (CASE month WHEN '6月' THEN val ELSE O END ) 6月,
MAX (CASE month WHEN '7月' THEN val ELSE O END ) 7月,
MAX (CASE month WHEN '8月' THEN val ELSE O END ) 8月,
MAX (CASE month WHEN '9月' THEN val ELSE O END ) 9月,
MAX (CASE month WHEN '10月' THEN val ELSE O END ) 10月,
MAX (CASE month WHEN '11月' THEN val ELSE O END ) 11月,
MAX (CASE month WHEN '12月' THEN val ELSE O END ) 12月""",
["filelds", '1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
[org.hibernate.type.StringType.INSTANCE, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER]
groupProperty("customer")
}
}
render result as JSON
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment