0

是否可以使用下表创建查询:

    YEAR    MAKE    MODEL
    2012    CHEVY   CAMARO
    2012    CHEVY   CORVETTE
    2013    CHEVY   CORVETTE
    2013    CHEVY   CAMARO
    2013    NISSAN  GT-R

这将输出一个结果,例如:

    CATEGORY    VALUE    TOTAL
    YEAR        2012     2
    YEAR        2013     3
    MAKE        CHEVY    4
    MAKE        NISSAN   1
    MODEL       CAMARO   2
    MODEL       CORVETTE 2
    MODEL       GT-R     1
4

1 回答 1

1
SELECT 'YEAR' AS category, CAST(year AS VARCHAR(4)), COUNT(*) AS total FROM YouTable
GROUP BY year
UNION ALL
SELECT 'MAKE' AS category, make, COUNT(*) FROM YouTable
GROUP BY make
UNION ALL
SELECT 'MODEL' AS category, model, COUNT(*) FROM YouTable
GROUP BY model

SQL 标准查询,如果您的 RDBMS 是 SQL SERVER 版本>=2005 或 Oracle 版本>=10g,您可以使用 PIVOT/UNPIVOT CLAUSE。

于 2013-11-06T02:02:29.623 回答