1

私は身体的に挑戦されている人々のデータを持っている状態のデータベースを持っていますか?州には多くの都市があります

足の問題、手の問題、ブラインドなどに基づいて人々のタイプがあります。

州は1つだけです

people_info(都市名、タイプ)

状態データを次のように表示する必要があります

州名|総人数| 脚の問題数| 手の問題の数|ブラインドの数

同じ方法

都市A|総人数| 脚の問題数| 手の問題の数|ブラインドの数

B市|総人数| 脚の問題数| 手の問題の数|ブラインドの数

データを印刷するために州と市の単一のクエリを作成する方法

4

1 に答える 1

1

使用しているRDBMSについて言及していないので、これは多くの(すべてではない)データベースサーバーでいくらか機能します。

SELECT  cityName,
        COUNT(*) totalPeople,
        SUM(CASE WHEN type = 'legProb' THEN 1 ELSE 0 END) AS LegProbCount,
        SUM(CASE WHEN type = 'handProb' THEN 1 ELSE 0 END) AS HandProbCount,
        SUM(CASE WHEN type = 'blindProb' THEN 1 ELSE 0 END) AS blindCount
FROM    people_info
GROUP   BY cityName

ではMySQL、これを直接使用できます。

SELECT  cityName,
        COUNT(*) totalPeople,
        SUM(type = 'legProb') AS LegProbCount,
        SUM(type = 'handProb') AS HandProbCount,
        SUM(type = 'blindProb') AS blindCount
FROM    people_info
GROUP   BY cityName
于 2013-01-29T12:50:27.920 に答える