반응형
다양한 값이 저장된 열이있는 테이블이 있습니다. dql을 사용하여 해당 테이블에서 고유 한 값을 검색하고 싶습니다.
Doctrine_Query::create()
->select('rec.school')
->from('Records rec')
->where("rec.city='$city' ")
->execute();
이제 고유 한 값만 원합니다. 아무도 그렇게하는 방법을 말해 줄 수 있습니까?
수정
테이블 구조 :
CREATE TABLE IF NOT EXISTS `records` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`state` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`city` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`school` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=16334 ;
이것은 내가 사용중인 쿼리입니다.
Doctrine_Query::create()
->select('DISTINCT rec.city')
->from('Records rec')
->where("rec.state = '$state'")
// ->getSql();
->execute();
이를 위해 Sql을 생성하면 다음이 제공됩니다.
SELECT DISTINCT r.id AS r__id, r.city AS r__city FROM records r WHERE r.state = 'AR'
이제 생성 된 SQL을 확인하십시오 :::: DISTINCT 는 'id'열에 있으며 도시 열에서 Distinct를 원합니다. 누구나이 문제를 해결하는 방법을 알고 있습니다.
EDIT2
Id는 자동 증분 값으로 인해 고유합니다 .Ya 델리와 델리와 같은 도시 열에 실제 중복이 있습니다. 맞아요 .. 이제 데이터를 가져 오려고 할 때 델리를 두 번 얻습니다. 다음과 같은 쿼리를 어떻게 만들 수 있습니까?
select DISTINCT rec.city where state="xyz";
이것이 나에게 적절한 출력을 줄 것이기 때문입니다.
EDIT3 :
이 쿼리를 알아내는 방법을 말해 줄 수있는 사람 .. ???
해결 방법
사용하는 버전에 따라 다르지만 동일한 문제가 있었고-> distinct ()가 저에게 효과적이었습니다.
Doctrine_Query::create()
->select('rec.city')->distinct()
->from('Records rec')
->where("rec.state = '$state'")
->execute();
참조 페이지 https://stackoverflow.com/questions/2148620
반응형
'MySql' 카테고리의 다른 글
MySQL 교리 2에서 단일 개체와의 부모 자녀 관계 (0) | 2020.12.11 |
---|---|
MySQL Phpstorm. SSH 터널을 통해 mysql 서버에 액세스 할 수 없음 (외부 호스트에 의해 연결이 닫힘) (0) | 2020.12.11 |
MySQL 데이터 잘림 : 1 행의 'logo'열에 대한 데이터가 너무 깁니다. (0) | 2020.12.10 |
MySQL에서 이름 설정 utf8? (0) | 2020.12.10 |
MySQL 여러 테이블의 데이터를 dataGridView에 표시하는 방법 (0) | 2020.12.10 |
댓글