私はこのような表を持っています。count()の結果を合計します。
-----------------
|City |Block |
-----------------
|Bekasi |A1 |
|Bekasi |A1 |
|Jakarta |A1 |
|Jakarta |A2 |
|Bandung |A3 |
-----------------
私は、1と2のように、ジャカルタのブロックと1とバンドンのブロックをブカシのブロックの小計をカウントしたい場合は、正しいクエリであるので、このようなトータル値を返すのだろうか?
-----------------
|City |Block |
-----------------
|Bekasi |A1 |
|Bekasi |A1 |
|Jakarta |A1 |
|Jakarta |A2 |
|Bandung |A3 |
-----------------
|TOTAL |4 |
-----------------
SELECT COUNT(DISTINCT block) AS total FROM report GROUP BY city
を使用してみました。しかし、それだけでこのような結果を返します。
--------
|Total |
--------
|1 |
|1 |
|2 |
--------
、おかげで私を助けてください。
select 1 as rank, city, count(city) from report group by city
union all
select 2 as rank, 'Total', SUM(a.total)
from
(SELECT COUNT(DISTINCT block) AS total FROM report GROUP BY city) a
order by rank asc
どのRDMSを使用していますか? (等mysql、オラクル、mssql) – Arion
あなたはこのようなものが欲しいですか? 'SELECT sum(total)FROM(SELECT COUNT(DISTINCTブロック)AS totalレポートからGROUP BY都市)foo;'? –
@Arion私はmysqlを使用しています –