-1

SQLについて質問があります。そのような情報を含むテーブルがある場合:

  City       Code

New York      |  10A
New York      |  10A
New York      |  20A
L.A           |  20A
L.A           |  20A
Washington    |  30A 
Washington    |  30A 
Washington    |  20A 
San Francisco |  20A
San Francisco |  20A

次のクエリSELECT City, Code, COUNT(Code) FROM table GROUP BY Cityを使用すると、次の結果が得られます。

 City         Code    Total

New York      |  10A     2
New York      |  20A     1
L.A           |  20A     2
Washington    |  30A     2
Washington    |  20A     1
San Francisco |  20A     2

問題は、各都市で合計が高い行のみを抽出するにはどうすればよいかということです。

4

2 に答える 2

0

これは私のために働いた:

SELECT     y.city, z.code, z.total
FROM       (SELECT city, MAX(total) AS total
            FROM (SELECT city, code, COUNT(code) AS total
                  FROM tableName
                  GROUP BY city, code) AS x
            GROUP BY city) AS y INNER JOIN
            (SELECT city, code, COUNT(code) AS total
             FROM tableName
             GROUP BY city, code) AS z
            ON y.city = z.city AND y.total = z.total

同点の場合は、同点のすべての行が返されます。

于 2013-05-25T18:02:51.197 に答える