PostgreSQL 按名稱計算使用者
假設我們想知道有多少使用者具有相同的名稱。讓我們建立表 users
如下:
create table users(
id serial,
name varchar(8) unique,
count int
);
現在,我們剛剛發現了一個名為 Joe 的新使用者,並希望將他考慮在內。為了實現這一點,我們需要確定是否存在具有其名稱的現有行,如果是,則將其更新為遞增計數; 另一方面,如果沒有現有的行,我們應該建立它。
PostgreSQL 使用的語法如下: 插入…衝突…做更新中… 。在這種情況下:
insert into users(name, count)
values('Joe', 1)
on conflict (name) do update set count = users.count + 1;