1

私はClickHouseの初心者で、プロジェクトの統計を処理するために使用しようとしています. 一部のデスクトップ ソフトウェアはサーバーに情報を送信するため、オペレーティング システムをショート リストにグループ化する必要があります。このクエリの例:

SELECT OS
FROM Req
GROUP BY OS

┌─OS──────────────────────────────────────────────────────────────────────────────┐
│ Майкрософт Windows 10 Корпоративная 2016 с долгосрочным обслуживанием           │
│ Майкрософт Ознакомительная версия Windows Server 2012 Standard                  │
│ Майкрософт Windows 10 Домашняя для одного языка                                 │
│ Microsoft Windows 8.1 Enterprise                                                │
│ Майкрософт Windows 8 Корпоративная Прогрессивная                                │
│ Microsoft Windows Server 2008 R2 Standard                                       │
│ Microsoft Windows 8.1 mit Bing                                                  │
│ Microsoft Windows 10 Home                                                       │
│ Microsoft Windows 8 Enterprise N                                                │
│ Майкрософт Windows 8.1 Профессиональная                                         │
│ Майкрософт Windows 8 Профессиональная                                           │
│ Microsoft Windows 7 Rеактивная                                                  │
│ Microsoft Windows 10 Pro Insider Preview                                        │

リストをきれいにするために集約する必要があります:

8       xxx
8.1     yyy
2008    zzz
2008 R2 aaa

等々。COALESCE 関数が見つからず、extract を使用して OS をバージョン番号で識別しようとしています。

 select extract(OS, ' 7 ') || extract(OS, ' 8.1 ') || extract(OS, ' 10 ') || extract(OS, ' 2008 R2 ') || extract (OS, ' 2008 ') || extract(OS, ' 2012 R2 ') || extract(OS, ' 2012 ')  as Value, count(distinct SID) from Req group by Value limit 100000;

しかし!Windows 2008 および Windows 2008 R2 のバージョン文字列には「2008」が含まれているため、次の結果が返されます。

┌─Value───────────┬─uniqExact(SID)─┐
│                 │            224 │
│  2012           │             17 │
│  10             │           1315 │
│  7              │           4282 │
│  2008           │             20 │
│  2012 R2  2012  │             57 │
│  2008 R2  2008  │            136 │
│  8.1            │            754 │
└─────────────────┴────────────────┘

私の場合、どの機能を使用する必要がありますか? ありがとう。

4

2 に答える 2