我正在尝试计算每个条形码链接的唯一文件名。

我正在运行以下查询

select filename,barcode,item_code from images
join imports on import_id = imports.id
order by item_code desc, barcode;


我得到以下结果:

filename                        barcode         item_code
5021523203124_1401260.jpg       5021523203124   9974
5021526203121_1390655.jpg       5021523203124   9974
5021526203121_1390655.jpg       5021523203124   9974
5021526203121_1390655.jpg       5021523203124   9974


我想得到以下结果

filename                    img_count   barcode         item_code
5021523203124_1401260.jpg   1           5021523203124   9974
5021526203121_1390655.jpg   3           5021523203124   9974

最佳答案

GROUP BY聚合:

select
    filename,
    count(*) as img_count,
    barcode,
    item_code
from images
inner join imports
    on import_id = imports.id
group by
    filename,
    barcode,
    item_code
order by
    item_code desc,
    barcode;


请注意,理想情况下,您应该在查询中使用表别名,这将使我们能够确定每一列属于哪些表。

关于mysql - 如何在MySQL查询中计算唯一(不同)值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57324306/

10-10 16:52