簡體   English   中英

mysql如何在表中合並類似的記錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM