如何从多列中获取单列?

时间:2017-12-07 05:29:43

标签: mybatis

我的查询看起来像这样。

<select id="select..." resulType="???">
    SELECT
        COUNT(1) AS count,
        NAME AS name
    FROM
        ...
    GROUP BY
        ...
    ORDER BY
        count ASC
</select>

我实际上需要按顺序获取name个,我希望我的mapper界面看起来像这样。

/**
 * Lists names ordered by ... count.
 * ...
 */
List<String> select...(...);

我该怎么做?需要什么类型的resultType? 我需要指定的resultMap吗?

1 个答案:

答案 0 :(得分:1)

你可以提到resultType="string"

例如,我尝试了以下查询:

<select id="getCountriesSortedByLanguages" resultType="string">

    SELECT c.name, count(cl.language)
    FROM country c
    JOIN countrylanguage cl ON cl.countrycode = c.code
    GROUP BY c.code
    ORDER BY 2 DESC 
</select>

我的映射器定义为:

public List<String> getCountriesSortedByLanguages();