我有一个SQLite DB的声明:
SELECT messdatum, count(*) as anzahl
from lipo
GROUP BY Messdatum
ORDER BY anzahl desc;
Run Code Online (Sandbox Code Playgroud)
导致一些行,这表明我有一些相同的重复Messdatum.如何从我的sqlite数据库中删除重复项?(它应该删除anzahl-1记录,其中messdatum是相同的吗?)有人建议吗?
PS:我发现此链接如何从Microsoft删除重复但有sqlite方言的问题.由于sqlite语法,我得到了一些错误.所以我能做到:
INSERT into holdkey SELECT messdatum, count(*) as anzahl from lipo group by messdatum having count(*) > 1;
INSERT into holddups SELECT DISTINCT lipo.* from lipo, holdkey where lipo.Messdatum = holdkey.messdatum ;
DELETE lipo from lipo, holdkey where lipo.messdatum = holdkey.messdatum;
Run Code Online (Sandbox Code Playgroud)
这是delete命令的错误.我怎样才能做到这一点?我试图将holdkey.anzahl更新为lipo中的另一个col
UPDATE lipo,holdkey set lipo.duplettenzahl = holdkey.anzahl WHERE lipo.messdatum = holdkey.messdatum ;
Run Code Online (Sandbox Code Playgroud)
但这也是不可能的.如果我将脂肪中的anzahl作为dublettenzahl我可以删除所有来自lipo的记录,其中dublettenzahl> 0.请帮忙!谢谢
他,我有一个文件有一些列.我想对第2列进行排序,然后对第1列应用uniq.我发现这篇文章谈论了同一列的sort和uniq,但我的问题有点不同.我正在考虑使用一些东西sort,uniq但不知道如何使用.谢谢.
我有这个文件:
hello 1
hello 2
world 1
world 2
hello 3
hi 3
hi 4
Run Code Online (Sandbox Code Playgroud)
我想这样排序,
hello 1
hi 3
world 1
Run Code Online (Sandbox Code Playgroud)
问题是我只需要第1列中的第一个唯一项目.
我尝试过,sort -k1 -u file.txt但它没有像我期望的那样工作.我该怎么做?
1.gui Qxx 16
2.gu Qxy 23
3.guT QWS 18
4.gui Qxr 21
Run Code Online (Sandbox Code Playgroud)
我想根据第3列中的值对文件进行排序,所以我使用:
sort -rnk3 myfile
2.gu Qxy 23
4.gui Qxr 21
3.guT QWS 18
1.gui Qxx 16
Run Code Online (Sandbox Code Playgroud)
现在我必须输出:(以3.gui开头的行是因为4.gui的行有更大的值)
2.gu Qxy 23
4.gui Qxr 21
1.guT QWS 18
Run Code Online (Sandbox Code Playgroud)
我不能使用,-head因为我有数百万行,我不在哪里切,我无法想办法使用,-uniq因为它对待一条线作为整体,因为我不能告诉-uniq看第一列,它算一条线它是唯一的输出它 - 这是正常的 - .我知道-uniq可以忽略许多字符但是从示例中可以看出第一列可能有各种字符数.
请指教..