[英]How to find 'similar' records in a MySQL table based on 'title' and 'description' columns?
[英]mysql how to merge similar records within a table
表:
ID /名稱/類型/口味/分數
1 / Cox / apple / good / NULL
2 / Cox / pear / NULL / 6
3 / Bob / apple / great / NULL
4 / Rod / pear / NULL / 9
5 / King / pear / NULL / 3
6 / King / apple / bad / NULL
正如您所看到的:'蘋果'具有'品味'值,但沒有'分數''梨'沒有'品味'值,但有'分數'。
我想將它們合並在一起,這樣如果兩個記錄具有相同的“名稱”,那么它們就會成為一條記錄,其中“Taste”值取自Apple,而“Score”取自Pear。
使用上面的表時,我想要的輸出是這樣的:
ID /名稱/類型/口味/分數
1 /考克斯/蘋果/好/ 6
3 / Bob / apple / great / NULL
4 / Rod / pear / NULL / 9
5 / King / pear / bad / 3
我正在使用MySQL和PHP。 我想可以使用其中任何一個來完成。
您可以使用條件聚合來完成:
SELECT min(t.id),t.name,min(t.Type),
MAX(CASE WHEN t.type = 'apple' then t.taste END) as taste,
MAX(CASE WHEN t.type = 'pear' then t.Score END) as Score
FROM YourTable t
GROUP BY t.name
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.