在MySQL中,我有一个像这样的表
com/izforge/izpack/bin/native/izpack/
我想删除包含book | user | phone
445 a 69
445 g 75
445 e 22
445 l 55
332 w 57
332 u 34
332 v 87
881 o 49
book
和445
book
的所有行,并在结尾处随机保留其中一行。
因此表格将成为
332
我如何在SQL中执行此操作?我使用phyMyAdmin和PHP 5.6
由于
答案 0 :(得分:1)
在MySQL中,您将使用join
。假设user
对于赠送书是唯一的:
delete t
from t join
(select book, max(user) as maxuser
from t
group by book
) tt
where t.book = tt.book and t.user < tt.maxuser;
答案 1 :(得分:1)
假设book, user
是唯一的:
DELETE t1 FROM `table` t1, `table` t2 WHERE t1.user > t2.user AND t1.book = t2.book
如果您想保留“最高”用户,请将>
更改为<
。
答案 2 :(得分:1)
你去吧:
DELETE FROM table1 t1, table1 t2 WHERE t1.user > t2.user AND t1.book = t2.book
将table1替换为您的实际表名
答案 3 :(得分:0)
sagi评论的简单更改可以帮助您轻松实现:
console.log((<any>animalName).name)