Mysql क्वेरी के बारे में सवाल होने और गिनती

0

सवाल

इस क्वेरी में*, मैं सूची और प्रकार पंक्तियों से "mytableabc" द्वारा अक्षांश, देशांतर, विभिन्न criterias,... के पास से दूर करने के लिए या स्कोर और अपने काम/लिस्टिंग datas और मैं अपने अच्छा लगता है/तेजी से enought!?

select 
round((6371 * acos(cos(radians('40.123456')) * cos(radians(latitude)) * cos(radians(longtitude) - radians('29.123456')) + sin(radians(latitude)) * sin(radians('40.123456')))), (2)) as distance, 
    (match(colone,coltwo) against('searchkeywordabc' in boolean mode)) as score, 
id,colone,coltwo,latitude,longtitude,colthree 
        from mytableabc 
        where (colone='sampleforsomething') 
            and (match(colone,coltwo) against('searchkeywordabc' in boolean mode))
                having distance <= 5 order by distance asc limit 0,50

--समस्या

अलग-अलग लाइनों में और फ़ाइलों मैं की जरूरत है केवल कुल संख्या गिनती(आईडी) लौटने के तत्वों के साथ एक ही criterias... मैं जोड़ने की कोशिश की गिनती(आईडी) है, लेकिन इसकी नहीं देता है सही गिनती कुल की है और यह भी सूची लाइनों, मैं बस चाहता हूँ की कुल संख्या(के रूप में सामान्य रूप से गणना क्वेरी करता है) नहीं डेटा लाइन

select 
    count(id), 
round((6371 * acos(cos(radians('40.123456')) * cos(radians(latitude)) * cos(radians(longtitude) - radians('29.123456')) + sin(radians(latitude)) * sin(radians('40.123456')))), (2)) as distance, 
        (match(colone,coltwo) against('searchkeywordabc' in boolean mode)) as score, 
    id,colone,coltwo,latitude,longtitude,colthree 
            from mytableabc 
            where (colone='sampleforsomething') 
                and (match(colone,coltwo) against('searchkeywordabc' in boolean mode))
                    having distance <= 5 order by distance asc limit 0,50

- यह भी इस क्वेरी के बिना, दूरी, अक्षांश/longtitude मापदंड अच्छा काम करता है, की ओर लौटने, केवल कुल संख्या... लेकिन मैं जोड़ने के लिए की जरूरत दूरी क्वेरी करने के लिए इस क्वेरी

select count(id) from mytableabc where (colone='sampleforsomething') and (match(colone,coltwo) against('searchkeywordabc' in boolean mode))

मैं नहीं कर रहा हूँ sql विशेषज्ञ और हाँ के रूप में आप देखते हैं मैं एक की जरूरत है. धन्यवाद ।

geolocation mariadb mysql php
2021-11-17 21:58:00
1

सबसे अच्छा जवाब

0

योजना एक:

ले जाएँ distance जाँच करने के लिए WHERE खंड. इस के लिए की आवश्यकता समाप्त HAVING जबकि छानने से अधिक है, इसलिए है कि COUNT नहीं होगा फुलाया.

select  count(*)
    from  mytableabc
    where  (colone='sampleforsomething')
      and  (match(colone,coltwo) against('searchkeywordabc' in boolean mode))
      AND  (6371 * acos(cos(radians('40.123456')) * 
        cos(radians(latitude)) * cos(radians(longtitude) -
        radians('29.123456')) + sin(radians(latitude)) *
        sin(radians('40.123456')))) < 5;

मैं उम्मीद FULLTEXT सूचकांक करने के लिए इस्तेमाल किया जा सकता सबसे पहले, दूसरे के साथ दो टेस्ट (= और दूरी) जा रहा है के लिए जाँच की सभी पंक्तियों से लौटे फुट खोज.

योजना बी है:

उपयोग करने के लिए जारी HAVINGहै , लेकिन एक सबक्वेरी. (यह शायद धीमी है.)

2021-11-18 04:19:40

मैं विश्लेषण/बेंचमार्क और एक योजना का चयन किया । धन्यवाद आप के लिए त्वरित उत्तर
evet

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में