그래서 1 인당 "좋아"하는 3 가지 질문을하는 데 필요한 1-8 명이있는 시나리오가 있습니다. 내가MYSQL LIMIT 1 인당 사용 방법
SELECT liked FROM likeTable WHERE uid IN (uid1,uid2,uid3,uid4) LIMIT 12
로 설정 쿼리를 가지고 있지만 난 12 때 분명히 이것은 잠재적으로 중지 할 수 있습니다 내가 ALL 예를 들어 UNION을 사용하는 등 가능한 해결책을 읽을 0에서 나머지를 떠나, UID1은 "좋아"...
(SELECT liked FROM likeTable WHERE uid = uid1 LIMIT 3)
UNION ALL
(SELECT liked FROM likeTable WHERE uid = uid2 LIMIT 3)
UNION ALL
(SELECT liked FROM likeTable WHERE uid = uid3 LIMIT 3)
UNION ALL
(SELECT liked FROM likeTable WHERE uid = uid4 LIMIT 3)
그리고 나는 forloop와 PHP에서 SQL 쿼리 문자열을함으로써이를 달성 할 수있을 것입니다, 그러나 이것은 내 데이터를 쿼리하는 효율적인 방법인가?
참고 : 난 내 autoincrementing 열
감사하다 likeID DESC BY 주문을 추가 할 수 있다면 좋을 텐데하지만 난 정말, (가) "좋아"를 검색하는 순서에 대해 걱정하지 않는다!
가능한 복제본 http://stackoverflow.com/questions/2000744/mysql-limit-results-per-category 및 http://stackoverflow.com/questions/2129693/mysql-using-limit-within-group- 그룹당 결과를 얻으려면 –
시도 :'SET @cnt : = 0; SELECT b.liked FROM like 테이블 \t INNER JOIN like 테이블 b ON a.uid = b.uid AND (@cnt : = @cnt - 1)> 0 여기서 uid는 (uid1, uid2, uid3, uid4) cnt : = 3 LIMIT 12' – Dor