나는 다음과 같은 데이터 세트 (Original Image) 반환하는 쿼리 한 :이 데이터 집합을 결과 쿼리에, GROUPBY가을 col_0_0 적용 할 때 이제MySQL의 GROUPBY 값은
+ ------------- + -------- + ---------- + ------------------------ + ------------------- + --------- + ----------------------- + ---------------------- + ----------------- +
| col_0_0_ | col_1_0_ | col_2_0_ | col_3_0_ | col_4_0_ | col_5_0_ | col_6_0_ | col_7_0_ | col_8_0_ |
+ ------------- + -------- + ---------- + ------------------------ + ------------------- + --------- + ----------------------- + ---------------------- + ----------------- +
| LAI-100003662 | dsa | 4546576766 | [email protected] | 2015-11-30 02:30:11 | Sultanpur | Incomplete Applications | Application Incomplete | Documents Pending |
| LAI-100003662 | dsa | 4546576766 | [email protected] | 2015-11-30 02:30:11 | Sultanpur | Incomplete Applications | Null | Null |
+ ------------- + -------- + ---------- + ------------------------ + ------------------- + --------- + ----------------------- + ---------------------- + ----------------- +
을, 난 단지 얻을 만 하나의 행 (Original Image) :
이+ ------------- + -------- + ---------- + ------------------------ + ------------------- + --------- + ----------------------- + ---------------------- + ----------------- +
| col_0_0_ | col_1_0_ | col_2_0_ | col_3_0_ | col_4_0_ | col_5_0_ | col_6_0_ | col_7_0_ | col_8_0_ |
+ ------------- + -------- + ---------- + ------------------------ + ------------------- + --------- + ----------------------- + ---------------------- + ----------------- +
| LAI-100003662 | dsa | 4546576766 | [email protected] | 2015-11-30 02:30:11 | Sultanpur | Incomplete Applications | Application Incomplete | Documents Pending |
+ ------------- + -------- + ---------- + ------------------------ + ------------------- + --------- + ----------------------- + ---------------------- + ----------------- +
1) 왜 GROUP BY
는 나에게 첫 번째 행이 아닌 원본 데이터 셋에서 두 번째 행을 주는가?
2)이 시나리오에서 GROUP BY
은 실제로 어떻게 작동합니까? GROUP BY와
SQL 쿼리 :
select loan0_.col_0_0_,
loan0_.col_1_0_,
loan0_.col_2_0_,
loan0_.col_3_0_,
loan0_.col_4_0_,
loan0_.col_5_0_,
dsastatus2_.col_6_0_,
dsastatus2_.col_7_0_,
dsastatus2_.col_8_0_
FROM loan0_
cross join user1_
cross join dsastatus2_
where loan0_.L_USER_ID=user1_.U_GUID
and loan0_.L_LEADSOURCE='DSA'
and (loan0_.L_SUB_STATUS_ID=dsastatus2_.ADMIN_STATUS_ID
or loan0_.L_STATUS_ID=dsastatus2_.ADMIN_STATUS_ID)
and user1_.U_REFID='dsa001'
and (loan0_.L_APPLICATION_ID like 'LAI-100003662')
GROUP BY col_0_0_ ;
귀하의 sql 코드를 보여주십시오 .. 코드없이 img 의미 nothings – scaisEdge
[docs] (https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html) 이 경우 서버는 각 그룹에서 임의의 값을 자유롭게 선택할 수 있기 때문에 동일하지 않으면 선택한 값이 " – xQbert
' MySQL' 일부 신의 가짜 이유로 인해 GROUP BY를 쿼리에 추가 할 수 있습니다 모든 집계되지 않은 열을 지정하지 않아도됩니다. 이렇게하면 임의로 * 반환 할 레코드를 선택합니다. 두 번째 질문에 대답하기 위해 : 그것은 아닙니다. 그러나 귀하의 첫 번째 질문에 대답하기 위해 'GROUP BY (더 나은 설명이 부족하기 때문에 ...)는 제공된 값으로 결과 집합을 그룹화합니다. 두 레코드는 'col_0_0'에 대해 동일한 값을 갖기 때문에 함께 그룹화됩니다. 이것은 단지 집계로 수행되어야합니다. 집합이없는 'GROUP BY'는 실제로 결과가 무엇인지에 대해별로 의미가 없습니다. – Siyual