我正在做一個需要使用 SQLITE 查詢的 python 專案,我想為這個查詢提供一個特定的輸出,從我目前在互聯網上搜索的內容來看,我幾乎可以肯定它要么是臨時的桌子或兩部分的東西,所以我們開始吧
假設我有這個表讓我們稱之為“企業”,它有一個“ JuridicalForm ”列和其他我們并不真正需要的列,也讓我們為這些列中的每一個添加一個計數。
| 形式 | 數數 |
|---|---|
| 716 | 100 |
| 722 | 200 |
| 790 | 50 |
| 999 | 30 |
現在讓我們添加一個條件,因為我不想要小于 100 的表單
SELECT JuridicalForm AS 'form', COUNT(JuridicalForm) AS 'count' FROM enterprise GROUP BY form HAVING count > 99
| 形式 | 數數 |
|---|---|
| 716 | 100 |
| 722 | 200 |
現在這很好,但我希望將小于 100 的列作為總和添加并稱為“其他”:
| 形式 | 數數 |
|---|---|
| 716 | 100 |
| 722 | 200 |
| 其他 | 80 |
我在網上搜索了帶有聯合、連接以及一些帶有另一個選擇條件的選擇查詢的解決方案,但似乎不起作用,如果您不希望我在不理解的情況下復制意大利面,我將不勝感激。如果不可能,我將分兩部分進行,并使用 pandas 資料框以某種方式合并它們,但我仍然需要弄清楚如何在一行中獲得“表單”計數的總和。
uj5u.com熱心網友回復:
使用 2 級聚合:
SELECT form,
SUM(count) count
FROM (
SELECT CASE WHEN COUNT(*) > 99 THEN JuridicalForm ELSE 'others' END form,
COUNT(*) count
FROM enterprise
GROUP BY JuridicalForm
)
GROUP BY form
ORDER BY form = 'others', count;
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/519827.html
下一篇:使用sql創建資料透視表
