0
주요 문제는 발견 된 행을 곱하는 관계 부분의 'WHERE IN'부분입니다.count() 일대 다 관계가있는 페이지 매김
SELECT COUNT(*),
GROUP_CONCAT(sections.name SEPARATOR '; ')
FROM users
LEFT JOIN users_sections ON (users.id = users_sections.user_id)
LEFT JOIN sections ON (users_sections.section_id = sections.id)
GROUP BY users.id
Finds:
'2', 'Registered; admins'
'3', 'Registered; admins; dudes'
'1', 'Registered'
올바른 무엇인지 3 행,이 발견되지만, 결과는 쓸모가 : 무슨 무슨 내가 더 잘보기 위해 GROUP_CONCAT을 추가 예를 들어
.
지금 일부에서 WHERE를 추가
SELECT COUNT(*),
GROUP_CONCAT(sections.name SEPARATOR '; ')
FROM users
LEFT JOIN users_sections ON (users.id = users_sections.user_id)
LEFT JOIN sections ON (users_sections.section_id = sections.id)
WHERE sections.id IN (2,3)
GROUP BY users.id
Finds:
'2', 'Registered; admins'
'2', 'Registered; admins'
'1', 'Registered'
에도 올바른하지만 쓸모. COUNT 결과로 하나의 '3'이 필요합니다.
다음 확인의 GROUP_CONCAT을 제거하고 ...
SELECT COUNT(*)
FROM users
LEFT JOIN users_sections ON (users.id = users_sections.user_id)
LEFT JOIN sections ON (users_sections.section_id = sections.id)
WHERE sections.id IN (2,3)
GROUP BY users.id
Find:
'2'
'2'
'1'
이전과 같은기도 할 수 있습니다. 다음을 시도해보십시오.
SELECT COUNT(*) > 0
...
Find:
'1'
'1'
'1'
안녕하세요. (잘하면 마지막) 그 시도하자 : 너무 슬퍼
SELECT SUM(COUNT(*) > 0)
...
Find:
Invalid use of group function
을 ...
가 어떻게 그의 개수를 얻을 수 있습니다, 아니면 불가능하다?
영웅 !!! 그게 전부 야 !!! –