我的数据库中的数据title内容类似下面的:
| 白夜行 第1集                |
| 白夜行 第2集                |
| 白夜行 第3集                |
| 白夜行 第4集                |
| 白雪公主 第1集              |
| 白雪公主 第3集              |
| 白雪公主 第4集              |
| 白雪公主 第5集              |请问怎么写查询语句才能得出 白夜行和白雪公主 这两个结果?
数据量大概11w左右。应该不会影响效率吧?
是不是用sql语句,把关键词写入到一个字段,以后更方便查询?

解决方案 »

  1.   

    假设格式固定,即在第前为名称
    select mid(title,1,instr(title,'第')-1)
    from tt
    group by mid(title,1,instr(title,'第')-1)
      

  2.   

    or
    select left(title,instr(title,'第')-1)
    from tt
    group by left(title,instr(title,'第')-1)
      

  3.   

    select distinct left(title,instr(title,' ')-1) 
    from yourTable
      

  4.   

    <?php
    $query = @mysql_query("select id,left(title,instr(title,'第')-1) from dsj group by left(title,instr(title,'第')-1)  ORDER BY id asc") or die("sql语句执行失败");
    for ($i=0; $i<mysql_numrows($query);$i++)
    {
    $id=mysql_result($query,$i,'id');
    $title=mysql_result($query,$i,'title');
        $title=str_replace($ser,'',$title);
    ?>
                        <li style="width:100px; height:25px; float:left;"><a target=_blank style="font-weight:bold" href="new.php?id=<? echo $id;?>"><? echo $title;?>&nbsp;</a></li>
    <?php 
    }
    ?> 
    $title=mysql_result($query,$i,'title');这一行报错。请问应该如何修改?我是新手。对语句不是很熟悉。谢谢