どのようにDISTINCT関数を1つの列だけにすることができますか?MySQLのDISTINCTを1列で
SELECT DISTINCT
id AS uniqueid,
ProductCode AS ProductID,
DisplayName AS ReportingLabel,
REPLACE(URL, 'http', 'https') AS URL,
ProductCategory AS Category,
Description,
CONCAT('https://', ImageURL) AS Image,
latestSellingPrice AS Price,
Brand,
IF(latestSellingPrice > 300,
'TRUE',
'FALSE') AS Is_Default,
IF(StockAvailable > 0, 'TRUE', 'FALSE') AS InStock
FROM
XML_Import_Server
WHERE
Brand = 'Totalsports'
AND
DisplayName <> 'eGift Card'
ProductCodeは、サイズと色のオプションのために必ずしも一意ではありません。しかし、私はそれの最初の変種を引く必要があります。
「DISTINCT」は省略形です。完全なフォームは 'DISTINCT ROW'です。 1つの列のみを使用する場合は、その列に同じ値を持ち、他の列に異なる値を持つ2つ以上の行がある場合、どの行を選択しますか? – axiac
あなたが望むことをするにはここで 'GROUP BY'を使う必要があると思います。あなたは 'DISTINCT'を使うことができますが、あなたが必要とする行は正しくグループ化することが必要です。 –