sql >> データベース >  >> RDS >> Mysql

MySQLオペレーターSELECT方法-類似した行から正確な1つの行の結果を取得するには?

    create table stuff
    (   id int auto_increment primary key,
        seo varchar(100) not null
        -- unique key (seo) not a bad idea
    );
    
    insert stuff (seo) values ('abc'),('abc7'),('kitty likes abc'),('abc and more abc'),('kittens');
    insert stuff (seo) values ('abc at beginning'),('frogs'),('and at the end abc'),('qwertyabcqwerty');
    
    
    select id from stuff where seo='abc';
    +----+
    | id |
    +----+
    |  1 |
    +----+
    1 row in set (0.02 sec)
    

    likeは次のとおりです 動作:

    select * from stuff where seo like '%abc';
    +----+--------------------+
    | id | seo                |
    +----+--------------------+
    |  1 | abc                |
    |  3 | kitty likes abc    |
    |  4 | abc and more abc   |
    |  8 | and at the end abc |
    +----+--------------------+
    4 rows in set (0.00 sec)
    
    select * from stuff where seo like 'abc%';
    +----+------------------+
    | id | seo              |
    +----+------------------+
    |  1 | abc              |
    |  2 | abc7             |
    |  4 | abc and more abc |
    |  6 | abc at beginning |
    +----+------------------+
    4 rows in set (0.00 sec)
    
    select id,seo from stuff where seo like '%abc%';
    +----+--------------------+
    | id | seo                |
    +----+--------------------+
    |  1 | abc                |
    |  2 | abc7               |
    |  3 | kitty likes abc    |
    |  4 | abc and more abc   |
    |  6 | abc at beginning   |
    |  8 | and at the end abc |
    |  9 | qwertyabcqwerty    |
    +----+--------------------+
    7 rows in set (0.00 sec)
    


    1. 別のテーブルの行の値から派生した列名でテーブルを作成します

    2. 1つの余分なレコードを返すクエリ。クエリ結果から削除する方法について何かアドバイスはありますか?

    3. MySQLテーブルの行を並べ替える

    4. MySQL:カーディナリティ/選択性の低い列=インデックスを作成する方法