先设定表名为't1',字段名'path',
'path'里存储的是一些文件的绝对路径(含文件名),比如:"readme.txt"
"index.html"
"music/nobady.mp3"
"music/2010/abc.mp3"
"music/2010/ddd.mp3"
"music/2011/xyz.mp3"2个参数:pwd(当前路径),sp(分隔符,一般是"/"但也可能是"\"),
要求根据传入pwd的值,虚拟查询出该路径下的文件和文件夹的列表,比如:输入pwd=""(空),sp="/",返回:
"readme.txt"
"index.html"
"music/"  斜杠结尾表示是文件夹,多个相同的值合并输入pwd="music/",sp="/",返回:
"nobady.mp3"
"2010/"
"2011/"

解决方案 »

  1.   

    Select substring_index(replace(path, ‘music/’,’’),’/’,1)  from t1 where path like ‘music/%’ 
      

  2.   

    CSDN论坛做的太烂,
    小论坛首页看不到我的帖子,点击第2页,再点回第1页才能看到,回复数也不对,更新不及时!
    请版主看到反映一下~
      

  3.   


    用distinct 和 GROUP BY 都可以消除值相同的行,
    当查询一列时使用两者结果相同,
    但当查询有多个列时使用效果却不同,
    GROUP BY 只能指定一列消除相同值,其他列如果是count等统计函数,以GROUP BY指定的列来分组计算。
    distinct 后面如果跟2列以上的值,则是类似联合主键的概念。多列中只要有一个列的值不同,就算不同,满足distinct条件。