按指定值

时间:2017-07-11 21:44:06

标签: mysql sql

SQL Fiddle example

首先,我们会计算æ¯ä»¶å•†å“的总票数,并按product_id进行分组。然åŽï¼Œæˆ‘们会获å–issue列的值以åŠæ¯ä¸ªåˆ—的出现次数。已ç»åœ¨å°æç´ä¸­è¯æ˜Žäº†è¿™ä¸€ç‚¹ã€‚

我需è¦çš„是能够按æ¯ä¸ªé—®é¢˜çš„出现次数排åºã€‚例如,我们希望按broken-part或not-received的最高数é‡çš„产å“进行排åºï¼Œä»¥ä¾¿æŒ‰issue列的值排åºå¹¶æŒ‰å¤šå°‘次排åºæ¯ä¸ªäº§å“都存在该问题。

谢谢ï¼

2 个答案:

答案 0 :(得分:1)

您å¯ä»¥ä½¿ç”¨æ¡ä»¶æ€»å’Œã€‚

例如

SUM(CASE WHEN `issue` = 'missing-part' THEN `count` ELSE NULL END) missing_part_total

然åŽæŒ‰é¡ºåºæŽ’åºã€‚

答案 1 :(得分:0)

GROUP_CONCAT()采用ORDER BYå‚数:

SELECT d2.product_id, t.title,
       SUM(`count`) AS total_issues,
       GROUP_CONCAT(`issue`, ':', `count` ORDER BY `count` DESC SEPARATOR ',') AS issues

注æ„:ä¸è¦å¯¹åˆ—å使用å•å¼•å·ã€‚åªéœ€å¯¹å­—符串和日期常é‡ä½¿ç”¨å•å¼•å·ã€‚