/ / MySQL क्वेरी एक क्षेत्र के भीतर ocurrences - mysql, sql

एक क्षेत्र के भीतर MySQL क्वेरी Ocurrences - mysql, वर्ग

मेरे पास एक टेबल में invoice_notes नामक एक फ़ील्ड हैबी_ऑर्डर कहा जाता है। इस क्षेत्र में "क्रेडिट कार्ड अस्वीकृत" शब्द कई बार दिखाए जाएंगे कि कार्ड कितनी बार अस्वीकार कर दिया गया है। मैं केवल उन रिकॉर्ड्स का चयन करने के लिए एक प्रश्न लिखने की कोशिश कर रहा हूं जहां वाक्यांश "क्रेडिट कार्ड अस्वीकृत" 4 गुना से कम दिखाई देता है?

कुछ इस तरह: चुनें * b_orders से जहां invoice_notes में "क्रेडिट कार्ड अस्वीकृत" <4 "

किसी भी मदद की सराहना की है। धन्यवाद

उत्तर:

उत्तर № 1 के लिए 1

यह उत्तर की तरह लगता है: http://pisceansheart.wordpress.com/2008/04/15/count-occurrence-of-character-in-a-string-using-mysql/
उद्धरण:

1. Counting the number of characters in the original string
2. Temporarily ‘deleting’ the character you want to count and count the string again
3. Subtract the first count from the second to get the number of occurrences

SELECT LENGTH("foobarfoobarfoobar") - LENGTH(REPLACE("foobarfoobarfoobar", "b", "")) AS occurrences

आपके विशिष्ट उदाहरण के लिए:

SELECT * FROM b_orders where (length(invoice_notes) - length(replace(invoice_notes, "Credit Card Declined"))) < (length("Credit Card Declined") * 4)

जवाब के लिए 0 № 2

कुछ इस तरह के बारे में:

SELECT * FROM b_orders
WHERE invoice_notes LIKE "%Credit Card Declined%"
AND invoice_notes NOT LIKE "%Credit Card Declined%Credit Card Declined%Credit Card Declined%Credit Card Declined%"

जवाब के लिए 0 № 3
SELECT * FROM b_orders WHERE invoice_notes LIKE "%Credit Card Declined%"
AND invoice_notes NOT LIKE REPEAT("%Credit Card Declined%",4);