-1
我有一個ID,名稱,價格和人員參數的表。我只需要選擇所有不同的,但id是不同的,這使我的目標變得複雜(我使用id只是爲了處理動態頁面)所以我需要選擇所有參數不同,除了編號爲。我希望我有道理。有沒有辦法解決這個問題?選擇所有列哪裏有一列不是DISTINCT
非常感謝。
例如:
ID | NAME | PRICE | PEOPLE
1 | beef | 9 | 2
2 | beef | 5 | 1
3 | beef | 9 | 2
4 | pork | 6 | 1
Result:
ID | NAME | PRICE | PEOPLE
1 | beef | 9 | 2
2 | beef | 5 | 1
4 | pork | 6 | 1
我已經解決了這一點。下面是該查詢:
SELECT every.name, every.price, every.people, every.id
FROM
(SELECT * FROM sometable) AS every
INNER JOIN
(SELECT DISTINCT name, price, people FROM sometable) AS unique
ON (every.name = unique.name AND every.price=unique.price AND every.people=unique.people);
不幸的是,這並不是一個足夠清晰的描述,因爲'DISTINCT'適用於整個行集。如果您在表格中發佈了一小段樣本的行,以及給定該輸入行集的示例,您將希望查詢輸出成爲樣本,這將有所幫助。 – 2015-02-06 20:54:09
如果您不想包含id,請將其從select中排除。如果您需要該ID,您將獲得多行。 – jpw 2015-02-06 20:54:24
您也可以在SELECT中使用像MAX(id)這樣的聚合,然後在其他列中使用GROUP BY。 – 2015-02-06 20:58:13