sql - 如何从列中删除第 i 个项目?

标签 sql postgresql

我有一个包含十个项目的列(不同字符)。 我需要删除第一个项目,如“k45” 我该怎么办?

我的专栏中的值(value)观:

k45
e58
f65
s58

最佳答案

表格中没有“第一项”这样的东西。表代表无序集。您需要一个用于排序的列。

如果你有这样一列:

delete from t
    where id = (select min(id) from t where value = 'k45');

如果您没有这样的 id,您可以使用内置标识符 ctid 删除一行:

delete from t
    where ctid = (select min(ctid) from t where value = 'k45');

关于sql - 如何从列中删除第 i 个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27229932/

相关文章:

mysql - 如何在 SQL 中按 max(a,b) 排序?

sql - 嵌套集模型,计算类别中的项目

java - PSQLException : The column index is out of range: 7, 列数:6 - Postgres 初学者

postgresql - 创建 Postgis 扩展 : "ERROR: could not open extension control file"

sql - PostgreSQL:如何使用日期之间连接两个表?

c# - 反序列化 XML 的 SQL 查询

java - 在 Hibernate 中保存实例时出现 SQL 错误

php - SQL 查询后的别名列

python - PostgreSQL COPY SQL 注入(inject)

json - 从 Postgres NOSQL/json 数据中搜索和选择