2014-02-15 4 views
0

dictionarydefinition이라는 테이블 하나가 있습니다.하나의 고유 한 열을 사용하여 행 선택

CREATE TABLE dictionarydefinition (
id bigint NOT NULL, 
definition character varying(1024) NOT NULL, 
word character varying(200) NOT NULL, 
grammertypename character varying(20) NOT NULL, 
) 

나는 SQL 명령 Select * from dictionarydefinition where word like 'someword%'을 가지고 있습니다.

결과는 동일한 값을 갖는 여러 행입니다. 예를 들어 someword%는 그냥 비어 있으면 ' 는 결과가 될 것이다

  1. B
  2. B
  3. C
  4. D
  5. D
  6. D

난 그냥 결과를 원하는 수 :

  1. 내가 GROUP BY 명령을 사용한

  • B
  • C
  • D,하지만 너무 많은 시간을 소요 내 안드로이드 장치를위한 30MB 데이터베이스 처리.

    someword% 값을 가진 행을 하나만 선택하도록 추가 할 수있는 SQL 명령의 종류는 무엇입니까?

  • 답변

    0

    처럼, 당신의 열 이름을 가정 .. GROUP BY를 사용할 수 있습니다 알파벳은 단어이고 명령은 다음과 같습니다.

    SELECT * from dictionarydefinition 여기서 'someword %'와 같은 단어 GROUP BY 단어;

    +0

    이 방법은 효과가 있지만 Android 기기의 경우 30MB 데이터베이스를 처리하는 데 너무 많은 시간이 걸립니다. 어떤 종류의 최적의 변종이 있습니까? –

    +0

    SQL에서 중복 제거의 다른 방법을 알지 못합니다. –

    0

    당신은 어디에 단어 'someword %의'같은 dictionarydefinition에서 SELECT TOP 또는 제한하거나 ROWNUM

    SELECT TOP 1 *를 사용할 수 있습니다;

    또는

    SELECT * dictionarydefinition 곳에서 단어 'someword %의'LIMIT 1 등;

    또는

    SELECT * dictionarydefinition에서 어디에 단어를 당신이 언급 한 예를 들어 'someword %의'AND ROWNUM < = 3

    관련 문제