>source

나는 다른 항목의 목록을 가지고 있으며, 이들 중 일부는 끝에 크기와 색상 설명이 있습니다. 예 : 남성용 축구 재킷-L/블랙.

크기 나 색상에 관계없이 모든 남성용 축구 재킷 제품을 그룹화 할 수 있기를 바랍니다.

╔═══════════════════════════════════╤══════╗
║ Item                              │ Sold ║
╠═══════════════════════════════════╪══════╣
║ Men's Football Jacket - L / Blue  │ 5    ║
╟───────────────────────────────────┼──────╢
║ Men's Football Jacket - M / Black │ 3    ║
╟───────────────────────────────────┼──────╢
║ Women's Socks - S                 │ 8    ║
╟───────────────────────────────────┼──────╢
║ Women's Socks - L                 │ 10   ║
╟───────────────────────────────────┼──────╢
║ Gloves                            │ 12   ║
╚═══════════════════════════════════╧══════╝
Output:
╔═══════════════════════╤══════╗
║ Item                  │ Sold ║
╠═══════════════════════╪══════╣
║ Men's Football Jacket │ 8    ║
╟───────────────────────┼──────╢
║ Women's Socks         │ 18   ║
╟───────────────────────┼──────╢
║ Gloves                │ 12   ║
╚═══════════════════════╧══════╝

예에서 볼 수 있듯이 일부 항목은 문자열에 크기 만 있고 다른 항목에는 크기 나 색상이 지정되어 있지 않습니다.

차이가 나는 경우 MySQL을 사용하고 있습니다.


  • 답변 # 1

    값이 항상 공백 하이픈 공백으로 구분되면 다음을 사용하십시오. substring_index() :

    select substring_index(item, ' - ', 1) as item,
           sum(sold)
    from t
    group by substring_index(item, ' - ', 1) ;
    
    

  • 답변 # 2

    1 일까지 항목의 값을 기준으로 그룹화하려는 경우 - , 사용하다 SUBSTRING_INDEX() 문자열의 해당 부분을 추출하려면 :

    SELECT SUBSTRING_INDEX(Item, '-', 1) Item, 
           SUM(Sold) Sold
    FROM tablename
    GROUP BY SUBSTRING_INDEX(Item, '-', 1)
    
    

    데모를 참조하십시오.
    결과 :

    > Item                  | Sold
    > :-------------------- | ---:
    > Gloves                |   12
    > Men's Football Jacket |    8
    > Women's Socks         |   18
    
    

관련 자료

  • 이전 java - 값을 반환하지 않는 HashMap
  • 다음 amazon web services - Slurm은 컴퓨팅 노드와 마스터 노드간에 파일을 동기화하는 데 어떤 메커니즘을 사용합니까? 암호화되어 있습니까?