2016.05.30 03:16

예를 들어 A라는 테이블에 있는 값들중


한 아이디를 랜덤으로 불러와야 되는데 


만약 데이터를 5개 이상가지고 있지 않은 아이디를 불러올 경우 에러가 나게 되는 경우라면


아래의 쿼리로 요청하면 됩니다.




SELECT ID FROM A GROUP BY ID HAVING 5 < COUNT(ID) order by rand() limit 1


A 테이블에서 ID로 된 데이터가 5개 이상 가지고 있는 ID를 랜덤으로 1개 불러오는 것이죠.



신고
Posted by 그린블로그 DEV그린
2011.11.07 13:43
http://sourceforge.net/projects/sqlitebrowser/files/latest/download?_test=goal

s
qlite 유틸리티입니다. 

앞서 소개한 sqlite export 보다 가벼운 프로그램입니다.

위의 경로로 가시면 받으실 수 있습니다. 

 
저작자 표시
신고
Posted by 그린블로그 DEV그린
2011.09.29 12:54

SELECT * FROM tableName WHERE _id BETWEEN 10 AND 30

//tableName 테이블에서 _id 컬럼의 값이 10 이상, 30 이하인 레코드를 검색합니다. (~와~사이)


SELECT * FROM tableName WHERE IN(10,30)

//tableName 테이블에서 _id 컬럼의 값이 10, 30인 레코드만 검색합니다. (안에)


SELECT * FROM tableName WHERE LIKE '%hi%'

//tableName 테이블에서 a 컬럼의 값이 hi 인 레코드만 검색합니다. (같은)



PS : 

세번째 LIKE '%hi%' 에서 %는 무엇일까요? 그것은 hi 좌우의 임의 문자에 상관없이 어디에든 hi만 들어가면 검색한다는 소리입니다.

예를 들면, a 컬럼의 값이 'high' 인데 위와 같이 '%hi%' 로 검색했을 때 a 컬럼이 출력되는 모습을 확인할 수 있을겁니다.


하지만 '%hi' 로 검색한다면 a 컬럼의 값은 검색되지 않을 것입니다. hi와 high는 다른 단어로 인식하기 때문입니다. 그것을 풀어주는 것이 %입니다. 마찬가지로 a 컬럼의 값이 'ahi' 인데 'hi%' 로 검색하면 hi 뒤에 있는 %가 뒤의 단어들은 무시해줄진 몰라도 앞에는 없기 때문에 hi와 ahi를 다른 단어로 인식하는 것입니다. 

신고
Posted by 그린블로그 DEV그린