MySQL 搜索具有不同扩展名的重复文件名
MySQL search for duplicate filenames with different extensions
我有一个 table,在其他列中,有一个名为文件名的列,其中包含文件名及其扩展名。
我需要找到所有已插入到 table 中且文件名相同但扩展名不同的文件名。例如,我正在寻找
这样的文件
01_ceremony_10021.flv
01_ceremony_10021.mp4
我需要 mp4 和 flv 格式的文件列表。
我试过几种方法,例如:
SELECT
archivo,
substr(archivo,1, locate(".flv", archivo)-1) as NomSinExt
FROM videoscampus
where (substr(archivo, -4) = '.flv' || substr(archivo, -4) = '.mp4' )
order by archivo asc
但这只是给了我完整的视频列表。
table的结构如下:
Column Type
-----------------------------
id int(11) Auto Incr
filename varchar(250)
deleted int(1)
dateStart datetime
dateEnd datetime
以及我需要检测的一些文件名示例:
agai_cpal_t6_cristinacoca.mp4
agai_cpal_t7_ent_ricardomartino_pacoarango.mp4
agai_cpal_t8_alejandrogonzalez.mp4
agai_cpal_t9_ent_ricardomartino_barbaradefranceschi.mp4
AHE_INF_MMijanco_T3_Macronutrientes.flv <---- DUPLICATE I'm looking for
AHE_INF_MMijanco_T3_Macronutrientes.mp4 <---- DUPLICATE I'm looking for
ahe_inf_prim_t10_maitemijancos.mp4
ahe_inf_t1_maitemijancos.mp4
ahe_inf_t10_maitemijancos.mp4
ahe_inf_t10.1_maitemijancos.mp4
ahe_inf_t10.2_maitemijancos.mp4
ahe_inf_t11_maitemijancos.mp4
ahe_inf_t12_javiertejedor.mp4
提前感谢您的宝贵时间和帮助。
-奥拉洛
试一试。它将 table 拆分为 mp4 和 flv 行,然后比较每个文件名第一部分的匹配项。
SELECT
SUBSTR(a.`filename`,1,LOCATE('.flv')) as `base_name`,
a.`filename` as `flv_file`,
b.`filename` as `mp4_file`
FROM `videoscampus` a
JOIN `videoscampus` b
ON b.`filename` LIKE '%.mp4'
AND SUBSTR(b.`filename`,1,LOCATE('.mp4')) = SUBSTR(a.`filename`,1,LOCATE('.flv'))
WHERE a.`filename` LIKE '%.flv'
AND a.`deleted` = 0
AND b.`deleted` = 0
我有一个 table,在其他列中,有一个名为文件名的列,其中包含文件名及其扩展名。
我需要找到所有已插入到 table 中且文件名相同但扩展名不同的文件名。例如,我正在寻找
这样的文件01_ceremony_10021.flv
01_ceremony_10021.mp4
我需要 mp4 和 flv 格式的文件列表。
我试过几种方法,例如:
SELECT
archivo,
substr(archivo,1, locate(".flv", archivo)-1) as NomSinExt
FROM videoscampus
where (substr(archivo, -4) = '.flv' || substr(archivo, -4) = '.mp4' )
order by archivo asc
但这只是给了我完整的视频列表。
table的结构如下:
Column Type
-----------------------------
id int(11) Auto Incr
filename varchar(250)
deleted int(1)
dateStart datetime
dateEnd datetime
以及我需要检测的一些文件名示例:
agai_cpal_t6_cristinacoca.mp4
agai_cpal_t7_ent_ricardomartino_pacoarango.mp4
agai_cpal_t8_alejandrogonzalez.mp4
agai_cpal_t9_ent_ricardomartino_barbaradefranceschi.mp4
AHE_INF_MMijanco_T3_Macronutrientes.flv <---- DUPLICATE I'm looking for
AHE_INF_MMijanco_T3_Macronutrientes.mp4 <---- DUPLICATE I'm looking for
ahe_inf_prim_t10_maitemijancos.mp4
ahe_inf_t1_maitemijancos.mp4
ahe_inf_t10_maitemijancos.mp4
ahe_inf_t10.1_maitemijancos.mp4
ahe_inf_t10.2_maitemijancos.mp4
ahe_inf_t11_maitemijancos.mp4
ahe_inf_t12_javiertejedor.mp4
提前感谢您的宝贵时间和帮助。
-奥拉洛
试一试。它将 table 拆分为 mp4 和 flv 行,然后比较每个文件名第一部分的匹配项。
SELECT
SUBSTR(a.`filename`,1,LOCATE('.flv')) as `base_name`,
a.`filename` as `flv_file`,
b.`filename` as `mp4_file`
FROM `videoscampus` a
JOIN `videoscampus` b
ON b.`filename` LIKE '%.mp4'
AND SUBSTR(b.`filename`,1,LOCATE('.mp4')) = SUBSTR(a.`filename`,1,LOCATE('.flv'))
WHERE a.`filename` LIKE '%.flv'
AND a.`deleted` = 0
AND b.`deleted` = 0