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

mysqlで一意の行/レコードのみを選択します

    このmysqlのみのトリックを使用できます:

    SELECT city, state_prefix, lattitude,longitude
    FROM zip_code WHERE city LIKE '$queryString%'
    GROUP BY city, state_prefix -- Here's the trick
    LIMIT 10
    

    これにより、最初に検出された行が返されます cityの一意の値ごとに およびstate_prefix

    他のデータベースは、groupbyまたはそのようなメッセージにリストされていない非集計列があると文句を言います。

    編集済み

    以前、upper()を使用しないと主張しました グループ化された列の関数は、すべての大文字小文字のバリエーションを返しますが、それは正しくありませんでした-それを指摘してくれたSalmanAに感謝します。 SQLFiddleを使用して確認しましたが、upper()を使用する必要はありません。 。



    1. c#とmysql間のデータトラフィックを暗号化する

    2. エンティティフレームワークは、where句に追加の条件を追加します

    3. 時間を最も近い15分のセグメントに丸める方法

    4. インデックスのDOとDONT