Product
테이블 : 나는 이름으로 그룹화 된 모든 제품의 목록을 얻을 필요가 있고,MySQL의 GroupWise에 최대
id: int
name: varchar(255)
info: varchar(8000)
일부 제품은 가장 함께 하나를 같은 이름이있는 경우 표시하려면 info
필드의 데이터를 선택해야합니다. 또 다른 요구 사항은 일관성입니다. 동일한 제품이 매번 표시되도록 보장해야합니다. 그러나 성과는 이것에 전혀 문제가되지 않습니다. 이 는 MySQL의에서 작업을하지만 결과를 보장하지 않는 것을
select * from (select * from product order by length(info) desc) as product group by name
나의 이해 :
그래서 내가 지금까지 가지고 올 것 중에 최고는 이것이다.
더 좋은 방법이 있습니까?
업데이트 :
내가 찾는 것의 예. 데이터가
1, 'Product1', '12345'
2, 'Product1', '123'
3, 'Product2', '123456'
4, 'Product2', '123456'
5, 'Product2', '12'
을 경우 예상되는 결과 중 하나를해야한다 :
1, 'Product1', '12345'
3, 'Product2', '123456'
또는
1, 'Product1', '12345'
4, 'Product2', '123456'
나는 상관하지 않는 한이 같은 결과의로 둘 중 하나 쿼리를 실행할 때마다
:
를 같은 ID마다 시간을 선택하려는 경우, 당신은 같은 생각을 사용할 수 있습니다 ? 제품 테이블에 모든 것을 포함시키지 않으시겠습니까? –
쿼리를 실행할 때마다 동일한 결과를 얻는 것과 같은 일관성. 필자의 예제를 통해 MySQL은 어떤 제품이 group by로 선택 될지는 보장하지 않는다. 결과가 잠재적으로 쿼리를 실행할 때마다 변경 될 수 있음을 의미한다. – Leo
"제품"을 말하지만 쿼리가 모든 제품을 반환합니다. 문제는 "정보"입니다. 가장 일관성있는 것을 얻었 으면 어떤 일관성이 필요합니까? –