ELSE state END AS state,
SELECT CASE grouping(state) WHEN 1 THEN '(-all)' ELSE state END AS state, CASE grouping (county) WHEN 1 THEN '(-all-)' ELSE county END AS county, CASE grouping (city) WHEN 1 THEN '(-all-)' ELSE city END AS city, count(*) AS f_pop, avg(income) AS avg_f_income FROM census WHERE sex = 'F' GROUP BY ROLLUP(state, county, city) HAVING count(*) >= 2;
Результаты, приведенные в таблице 4, показывают, что данные переписи содержат двух или более женщин в одном городе (Houston), в трех графствах (Dade, Orange и Harris); в двух штатах (Florida и Texas) и во всей таблице целиком.
STATE COUNTY CITY F_POP AVG_F_INCOME
TX | Harris | Houston | 2 | 44700 |
FL | Dade | (-all-) | 2 | 40100 |
FL | Orange | (-all-) | 2 | 36600 |
TX | Harris | (-all-) | 2 | 44700 |
FL | (-all-) | (-all-) | 4 | 38350 |
TX | (-all-) | (-all-) | 3 | 39750 |
(-all-) | (-all-) | (-all-) | 7 | 38816 |
Таблица 4. Результаты запроса с ROLLUP и разделами WHERE и HAVING
Содержание Назад Вперед