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

MySQL:DISTINCTを使用するときに選択した列を無視する

    ここには2つのケースがあります。データがあるとしましょう

    A  B  C   (columns)
    a  b  c1
    a  b  c2
    

    Aの個別の値を取ると、Bは1つの結果(a、b)を返し、列Cには2つの値があります。したがって、問題は、Cのすべての値を表示するか、列AとBの個別の値ごとに1つの値だけを表示するかです。 ?

    Cの値を1つだけ表示したい場合は、次のように記述できます

    SELECT A, B, MAX(C) FROM YourTable
      GROUP BY A, B
    

    一方、Cのすべての値を表示する場合は、

    SELECT DISTINCT A, B, C FROM YourTable WHERE ROW(A,B) IN 
      (SELECT A, B FROM YourTable
         GROUP BY A, B)
    

    あなたにそれを与えます。テーブルに他の列がある場合は、この最後の選択肢が必要です。



    1. MySQLで2つの日付の差を計算する方法

    2. SSMSを使用したSQLServerエージェントのジョブ履歴の表示

    3. codeigniterでのアクティブレコードの合計

    4. Oracleは外部キーを取得します