我想删除一组行,它们具有与此 SQL 选择相同的属性。
SELECT item_id, count(*) as item_in_order
FROM items
GROUP BY order_id
HAVING item_in_order = 1
Run Code Online (Sandbox Code Playgroud)
换句话说,这意味着我有订单项,我想删除仅包含一项的订单中的行。
例如:
item_id order_id
1 1
2 2
3 2
4 3
5 3
6 4
Run Code Online (Sandbox Code Playgroud)
所以我想删除 item_id 为 1 和 6 的行。
遇到问题,将不胜感激任何帮助。
我想删除一行,该行从变量转移到我的 func。那是代码:
con = sql.connect('db.sqlite')
cur = con.cursor()
query = 'delete from media_tmp where media_id="%s"' % media_id.strip()
print(query)
cur.execute(query)
if con:
con.close()
Run Code Online (Sandbox Code Playgroud)
打印(查询)给了我以下内容:
delete from media_tmp where media_id="737589711821419460_184456611"
Run Code Online (Sandbox Code Playgroud)
当我直接在 sqlite 中执行它时,它可以完美运行并删除应得的行。但由 cur.execute(query) 执行根本不起作用。
func 完成得很好,我没有错误。
假设我有以下 SQL 表定义:
create table test(
id number(5) primary key
);
Run Code Online (Sandbox Code Playgroud)
此外,我想使用 Groovy 的 SQL 支持在所述表上执行INSERT和语句。DELETE
给定以下代码,该代码执行一条INSERT语句:
Sql db = new Sql(some_dataSource)
String query = "insert into test (id) values (999)"
def result = db.execute(query)
Run Code Online (Sandbox Code Playgroud)
我可以知道,在这段代码中,插入了多少行test(在本例中为 1)?
result该变量对于确定这一点有用吗?
我尝试在此处和此处查看 Groovy 的 SQL 支持文档,但提供的示例似乎仅对SELECT语句进行行计数。
谢谢!
我是 postgreSql 的新手,我使用以下查询从数据库中检索所有字段。
SELECT student.*,row_number() OVER () as rnum FROM student;
Run Code Online (Sandbox Code Playgroud)
我不知道如何逐行删除特定行号。请给我一些想法。
这是我的桌子:
专栏 | 类型 ----------+------------------ 名称 | 文本 滚号 | 整数 平均绩点 | 双精度 部门 | 文本 分公司 | 文本
我有以下 SQL 查询:
DELETE FROM table_b b WHERE NOT EXISTS (SELECT * FROM table_a a WHERE a.some_id = b.some_id)
Run Code Online (Sandbox Code Playgroud)
并收到以下错误:
[Err] 1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的“b WHERE NOT EXISTS(SELECT * FROM table_a a WHERE a.some_id = b.some_id)”附近使用的正确语法
这似乎表明别名不能与 SQL 删除语句一起使用(?)
我想知道如何删除数组中的所有值,我的数组包含如下 ID:[1,2,3,4],我尝试过:
models.products
.destroy({where: {req.body.ids}})
.then(function(data){ res.json(data) })
Run Code Online (Sandbox Code Playgroud)
但我没有data定义,什么都没有被删除......
我有一个问题,即我要从表中删除除最新行之外的所有行。我不太了解如何构造适当的查询。
表结构的外观:
| column1 | column2 | column3 | column4 |
| --------|---------|---------|---------|
| aaa | aaa | aaa | aaa |
| bbb | bbb | bbb | bbb |
| ccc | ccc | ccc | ccc |
Run Code Online (Sandbox Code Playgroud)
假设第 3 行是最后添加的,这是最新的。查询后:
| column1 | column2 | column3 | column4 |
| --------|---------|---------|---------|
| ccc | ccc | ccc | ccc |
Run Code Online (Sandbox Code Playgroud) 问题 1:删除查询是否作为 mysql/mariadb 中的整个事务运行。因此,如果我们有 100 万行要删除,mysql/mqriadb 服务器是否会将其作为一个整体删除,或者如果在删除某些行后出现问题,已删除的行将被恢复。
Q2:我们是需要在单个删除查询中删除行(无论需要删除多少行)还是需要在删除查询中设置限制并批量执行删除。如果需要以多少(要删除的行数)进行批处理,我们应该考虑一下。
如果同一个表中的更新使用两个 CTE 导致数量为 0,我试图从我的库存表中删除一条记录。更新插入正在工作,但删除没有生成我期望的结果。库存表中的数量正在更改为零,但记录并未被删除。表结构:
CREATE TABLE IF NOT EXISTS stock_location (
stock_location_id SERIAL
, site_code VARCHAR(10) NOT NULL
, location_code VARCHAR(50) NOT NULL
, status CHAR(1) NOT NULL DEFAULT 'A'
, CONSTRAINT pk_stock_location PRIMARY KEY (stock_location_id)
, CONSTRAINT ui_stock_location__keys UNIQUE (site_code, location_code)
);
CREATE TABLE IF NOT EXISTS stock (
stock_id SERIAL
, stock_location_id INT NOT NULL
, item_code VARCHAR(50) NOT NULL
, quantity FLOAT NOT NULL
, CONSTRAINT pk_stock PRIMARY KEY (stock_id)
, CONSTRAINT ui_stock__keys UNIQUE (stock_location_id, item_code)
, …Run Code Online (Sandbox Code Playgroud) 使用 BigQuery 我想删除 id 为Common Table Expression或 的行with
这是我的查询:
WITH
redundant AS (
SELECT
id,
MAX(updated_at) AS updated_at,
COUNT(*) AS counter
FROM
t1
GROUP BY
id
HAVING
counter >= 2)
DELETE
FROM
t1
WHERE
id IN (redundant.id)
AND updated_at NOT IN (redundant.updated_at )
Run Code Online (Sandbox Code Playgroud)
我预计这些行将被删除,但我收到此错误消息:
Syntax error: Expected "(" or keyword SELECT but got keyword DELETE at [13:1]
sql-delete ×10
mysql ×5
sql ×5
postgresql ×2
alias ×1
delete-row ×1
groovy ×1
mariadb ×1
performance ×1
python ×1
select ×1
sequelize.js ×1
sql-insert ×1
sqlite ×1
variables ×1