gpt4 book ai didi

mysql - 如何获取此查询中重复项的大小?

转载 作者:行者123 更新时间:2023-12-03 23:11:31 26 4
gpt4 key购买 nike

假设我有以下数据:

md5          file_size          
1234 127.4
1234 127.4
1234 127.4
909 18.2
909 18.2
104 207
我想知道我有多少重复的数据——也就是说——如果我们有每个文件中的一个(md5 唯一),我们可以节省多少空间?答案应该是:
md5        size_saved
1234 254.8
909 18.2
104 0
这是我迄今为止的基本查询:
SELECT file_size, SUM(file_size) total_size FROM files GROUP BY md5
我认为最简单的方法是做 ABS(file_size - total_size) ,但我不确定如何在不使用可以访问聚合大小和单个文件大小的子选择或外部查询的情况下执行此操作。这样做的正确方法是什么,或者是使用子选择的唯一方法?

最佳答案

你可以使用:

SELECT
md5,
SUM(file_size) - MIN(file_size) AS size_saved
FROM yourTable
GROUP BY
md5;
screen capture from demo link below
Demo
请注意,我的回答假设给定 md5 的所有记录将始终具有相同的 file_size值,如果有多个记录。如果没有,那么我的答案将不起作用,但在这种情况下,无论如何我们都必须重新定义逻辑。

关于mysql - 如何获取此查询中重复项的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64494698/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com