    # File lib/active_record/connection_adapters/postgresql_adapter.rb, line 389
          def distinct(columns, order_by)
            return "DISTINCT #{columns}" if order_by.blank?

            # construct a clean list of column names from the ORDER BY clause, removing
            # any asc/desc modifiers
            order_columns = order_by.split(',').collect { |s| s.split.first }
            order_columns.delete_if &:blank?
            order_columns = order_columns.zip((0...order_columns.size).to_a).map { |s,i| "#{s} AS alias_#{i}" }

            # return a DISTINCT ON() clause that's distinct on the columns we want but includes
            # all the required columns for the ORDER BY to work properly
            sql = "DISTINCT ON (#{columns}) #{columns}, "
            sql << order_columns * ', '
          end