반응형
여러 개의 컬럼과 제한 2로 그룹화하시겠습니까?
mysql 데이터베이스에 다음과 같은 데이터 구조가 있습니다.
+-------+----------+-------+------------+-------------+-------------+
| Color | brand | size | otherstuff | otherstuff2 | otherstuff3 |
+-------+----------+-------+------------+-------------+-------------+
| red | BMW | small | 0,69 | 0,22 | 0,36 |
| red | BMW | big | 0,48 | 0,00 | 0,13 |
| red | Ford | small | 0,42 | 0,33 | 0,81 |
| red | BMW | big | 0,99 | 0,66 | 0,27 |
| red | Ford | big | 0,30 | 0,44 | 0,23 |
| red | Mercedes | small | 0,87 | 0,23 | 0,80 |
| red | Mercedes | big | 0,51 | 0,06 | 0,46 |
| blue | BMW | small | 0,07 | 0,53 | 0,99 |
| blue | BMW | small | 0,57 | 0,45 | 0,45 |
| blue | BMW | big | 0,14 | 0,23 | 0,37 |
| blue | Ford | big | 0,83 | 0,14 | 0,20 |
| blue | Ford | big | 0,20 | 0,10 | 0,60 |
| blue | Mercedes | small | 0,58 | 0,90 | 0,90 |
| blue | BMW | small | 0,12 | 0,41 | 0,40 |
| blue | Mercedes | big | 0,81 | 0,57 | 0,79 |
| blue | Mercedes | big | 0,95 | 0,36 | 0,70 |
| green | Ford | big | 0,09 | 0,56 | 0,90 |
| green | Ford | small | 0,54 | 0,03 | 0,99 |
| green | Ford | small | 0,86 | 0,58 | 0,12 |
| green | BMW | small | 0,88 | 0,39 | 0,91 |
| green | BMW | small | 0,39 | 0,92 | 0,50 |
| green | BMW | big | 0,11 | 0,62 | 0,23 |
+-------+----------+-------+------------+-------------+-------------+
컬러별로, 브랜드별로 큰 사이즈 한 줄과 작은 사이즈 한 줄씩 받고 싶습니다.- 다음과 같습니다.
+-------+----------+-------+------------+-------------+-------------+
| Color | brand | size | otherstuff | otherstuff2 | otherstuff3 |
+-------+----------+-------+------------+-------------+-------------+
| red | BMW | small | 0,69 | 0,22 | 0,36 |
| red | BMW | big | 0,48 | 0,00 | 0,13 |
| red | Ford | small | 0,42 | 0,33 | 0,81 |
| red | Ford | big | 0,30 | 0,44 | 0,23 |
| red | Mercedes | small | 0,87 | 0,23 | 0,80 |
| red | Mercedes | big | 0,51 | 0,06 | 0,46 |
| blue | BMW | small | 0,57 | 0,45 | 0,45 |
| blue | BMW | big | 0,14 | 0,23 | 0,37 |
| blue | Ford | big | 0,20 | 0,10 | 0,60 |
| blue | Mercedes | big | 0,81 | 0,57 | 0,79 |
| blue | Mercedes | small | 0,58 | 0,90 | 0,90 |
| green | Ford | big | 0,09 | 0,56 | 0,90 |
| green | Ford | small | 0,54 | 0,03 | 0,99 |
| green | BMW | small | 0,39 | 0,92 | 0,50 |
| green | BMW | big | 0,11 | 0,62 | 0,23 |
+-------+----------+-------+------------+-------------+-------------+
내 SQL:
SELECT * FROM `table` GROUP BY color
내 SQL은 어떤 모양입니까?색상별로 크고 작은 브랜드를 받을 수 있습니까?
색상, 브랜드 및 크기당 한 행을 임의로 선택하려면ROW_NUMBER
:
SELECT color, brand, size, otherstuff, otherstuff2, otherstuff3
FROM
(
SELECT
t.*,
ROW_NUMBER() OVER (PARTITION BY color, brand, size ORDER BY otherstuff) AS rn
FROM mytable t
) numbered
WHERE rn = 1
ORDER BY color, brand, size;
@Nick, 그리고 다른 모든 분들.이 방법은 효과가 있었습니다.
SELECT color, brand, size, otherstuff1, otherstuff2, otherstuff3 FROM [table] GROUP BY color, brand, size ORDER BY color, brand, size
감사해요.
언급URL : https://stackoverflow.com/questions/61223939/group-by-with-multiple-colums-and-limit-2
반응형
'IT' 카테고리의 다른 글
Java의 마커 인터페이스? (0) | 2022.10.29 |
---|---|
MySQL 뷰에 데이터를 삽입할 수 있습니까? (0) | 2022.10.29 |
JPA getSingleResult() 또는 늘 (0) | 2022.10.28 |
pylab과 pyplot의 차이점은 무엇입니까? (0) | 2022.10.28 |
스위치가 다음과 같은 경우보다 빠른 이유 (0) | 2022.10.28 |