如果其他行具有公共屬性,則設定標誌
假設我有這些資料:
表專案
ID |
名稱 | 標籤 |
---|---|---|
1 |
例 | unique_tag |
2 |
FOO | 簡單 |
42 |
BAR | 簡單 |
3 |
BAZ | 你好 |
51 |
QUUX | 世界 |
我想得到所有這些行,並知道其他行是否使用了標記
SELECT id, name, tag, COUNT(*) OVER (PARTITION BY tag) > 1 AS flag FROM items
結果將是:
ID |
名稱 | 標籤 | 標誌 |
---|---|---|---|
1 |
例 | unique_tag | 假 |
2 |
FOO | 簡單 | 真正 |
42 |
BAR | 簡單 | 真正 |
3 |
BAZ | 你好 | 假 |
51 |
QUUX | 世界 | 假 |
如果你的資料庫沒有 OVER 和 PARTITION,你可以使用它來產生相同的結果:
SELECT id, name, tag, (SELECT COUNT(tag) FROM items B WHERE tag = A.tag) > 1 AS flag FROM items A