DISTINCTは、一部の列にのみ適用される関数ではありません。これは、選択リストのすべての列に適用されるクエリ修飾子です。
つまり、DISTINCTは、すべての場合にのみ行を減らします。 列は別の行の列と同じです。
DISTINCTは、SELECTの直後に続く必要があります(SQL_CALC_FOUND_ROWSなどの他のクエリ修飾子とともに)。次に、クエリ修飾子に従って、列を一覧表示できます。
-
右:
SELECT DISTINCT foo, ticket_id FROM table...
ticket_idとの値の個別のペアごとに行を出力します foo。
-
間違い:
SELECT foo, DISTINCT ticket_id FROM table...
ticket_idに3つの異なる値がある場合、これは3行のみを返しますか? fooの6つの異なる値がある場合はどうなりますか? fooの6つの可能な値のうちどれを出力する必要がありますか?
書かれているようにあいまいです。