여러 개의 개별 행 을 연결 하는 대체 구문
경고 :이 게시물은 배고프다.
주어진:
그룹 대신 여러 개의 개별 행 을 선택 하고 특정 필드를 연결하려고합니다.
제품 ID와 이름 및 가격 테이블이 있다고 가정 해 보겠습니다.
+------------+--------------------+-------+
| product_id | name | price |
+------------+--------------------+-------+
| 13 | Double Double | 5 |
| 14 | Neapolitan Shake | 2 |
| 15 | Animal Style Fries | 3 |
| 16 | Root Beer | 2 |
| 17 | Lame T-Shirt | 15 |
+------------+--------------------+-------+
그런 다음이 강아지를 체크 박스로 표시하는 멋진 스 약시 아약스가 있습니다.
배고픈 힙합 사용자가을 선택합니다 13, 15, 16
. 그녀에게 오늘 디저트는 없습니다 ...
찾기:
순수 mysql을 사용하여 사용자의 주문을 한 줄로 요약하는 방법.
해결책:
사용 GROUP_CONCAT
와 절 :IN
mysql> SELECT GROUP_CONCAT(name SEPARATOR ' + ') AS order_summary FROM product WHERE product_id IN (13, 15, 16);
어떤 출력 :
+------------------------------------------------+
| order_summary |
+------------------------------------------------+
| Double Double + Animal Style Fries + Root Beer |
+------------------------------------------------+
보너스 솔루션 :
당신이 총 가격을 원한다면 SUM()
:
mysql> SELECT GROUP_CONCAT(name SEPARATOR ' + ') AS order_summary, SUM(price) AS total FROM product WHERE product_id IN (13, 15, 16);
+------------------------------------------------+-------+
| order_summary | total |
+------------------------------------------------+-------+
| Double Double + Animal Style Fries + Root Beer | 10 |
+------------------------------------------------+-------+
추신 : 근처에 In-N-Out 이없는 경우 사과하십시오 ...