私はClickHouseの初心者で、私たちのプロジェクトの統計処理に使用しようとしています。デスクトップソフトウェアの中には、当社のサーバーに情報を送信するものがあるため、運用システムを短いリストにグループ化する必要があります。この例クエリ:ClickHouseのCoalesce機能の置き換え
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関数が見つかりませんし、バージョン番号で識別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 │
└─────────────────┴────────────────┘
私は私の場合は使用する必要がどのような機能?ありがとう。