Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Php लॉटरी बहु विजेता समस्याओं को जारी करती है

मुझे लगता है कि आपने अपने चुने हुए नंबरों के लिए गलत भंडारण प्रारूप चुना है। मानक दृष्टिकोण बाइनरी मानों का उपयोग करना है जिसमें एन-वें बिट सेट होता है यदि संख्या एन चुना जाता है।

इस उदाहरण पर विचार करें:उपयोगकर्ता "2 4 5 9 11" नंबर चुनता है। संबंधित बिट्स को 1 पर सेट करने से '10100011010' मिलता है जो दशमलव 1306 है। अब लॉटरी "4 7 9 12 13" चुनती है जो '1100101001000' ==6472 है। थोड़ा सा और दोनों मूल्यों पर प्रदर्शन करें और बिट्स की संख्या की गणना करें परिणाम:

SELECT BIT_COUNT(1306 & 6472)

यह तुरंत हमें बताता है कि उपयोगकर्ता के पास 2 सही चयन हैं। जितना आसान आप "पूर्ण" विजेताओं का चयन कर सकते हैं:

SELECT * FROM tickets WHERE BIT_COUNT(tickets.pick & lotto.pick) = 5

या टिकटों को सही चयनों की संख्या के अनुसार क्रमित करें

SELECT * FROM tickets ORDER BY BIT_COUNT(tickets.pick & lotto.pick) DESC


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP फॉर्म mySQL डेटाबेस में सम्मिलित नहीं हो रहा है

  2. MySQL कई पंक्तियों को हटाने से बचने के लिए ट्रिगर हटाने से पहले

  3. PHP - जबकि/अन्य त्रुटि?

  4. MySQL 'सम्मिलित करें' कथन में 'चयन' का उपयोग कैसे करें?

  5. वाईआई फ्रेमवर्क में PHP एसिंक्रोनस मेथड कॉल