환상의 축구 팀을 보유한 데이터베이스가 있습니다. p1 = 팀의 선수 1, p2 = 선수 2 등 총 15 명의 선수에게. 모든 플레이어 이름은 팀을 구성하는 방식에 따라 p1-p15에 포함될 수 있습니다.mysql 쿼리가 예상대로 추가되지 않습니다.
누가 소유하고 있는지에 대한 보고서를 실행하려고합니다. 팀에서 얼마나 많은 사람들이 Will Johnson
을 가지고 있는지 찾는 데 사용됩니다.
SELECT * FROM `players`
WHERE MATCH (p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15)
AGAINST ('Will Johnson' IN BOOLEAN MODE)
AND rank <= 100
이 반환 51.
그런 다음이 코드를 사용하여 처음 11 개 (11 개 변수)에 얼마나 많은 사람이 있었는지 확인합니다.
SELECT * FROM `players`
WHERE MATCH (p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11)
AGAINST ('Will Johnson' IN BOOLEAN MODE)
AND rank <= 100
이 반환 47.
은 그 때 나는 (지난 4 개 변수)
SELECT * FROM `players`
WHERE MATCH (p12, p13, p14, p15)
AGAINST ('Will Johnson' IN BOOLEAN MODE)
AND rank <= 100
이 수익률 6 자신의 벤치에 그를 얼마나 많은 알이 코드를 않습니다.
그래서 ... 내 문제는 47 + 6 = 53가 51
어떤 생각을 총해야 때 이유 또는 내가이 문제를 해결할 수있는 방법인가?
왜 다섯 개 필드를 사용해야합니까? 'WHERE position <= 11'을하는 것이 훨씬 쉽습니다. –
데이터에 두 개의 '존슨 윌'이있을 수 있습니다. 'Will Johnson'을 여러 번 표시 할 수 있습니다. 내 생각 엔 결과가 좋고 데이터가 기대치를 충족시키지 못한다는 것입니다. –
@GeorgeCummins 정보는 다른 웹 사이트에서 긁어 내고 데이터베이스 필드에 그대로 넣습니다. 나는 이것이 그것이 가장 이상적인 방법이 아니라는 것을 알고 있기 때문에 그것이 미래에 어떻게 작용 하는지를 바꿀 것이다. 나중에 각 플레이어마다 1 행을 넣을 것입니다. – Cully