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

MySQL क्वेरी - समूह-दर का उपयोग करते समय लापता रिकॉर्ड प्राप्त करना

SQL डेटाबेस में डेटा मानों के सेट के साथ काम करने में अच्छा है, लेकिन डेटा मानों के सेट पर इतना अच्छा नहीं है जो नहीं हैं डेटाबेस में।

सबसे अच्छा समाधान यह है कि आप उन मानों के लिए एक छोटी तालिका रखें जिनकी आपको आवश्यकता है:

CREATE TABLE ScoreValues (score int);
INSERT INTO ScoreValues (score) 
  VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);

आपकी टिप्पणी को देखते हुए कि आप किसी अन्य तालिका में किसी परीक्षण के अधिकतम अंक निर्धारित करते हैं, आप उस तालिका में निम्न तरीके से शामिल हो सकते हैं, जब तक कि ScoreValues निश्चित रूप से मान कम से कम उच्च या उच्चतम परीक्षण के अधिकतम अंकों से अधिक हों:

SELECT v.score, COUNT(tr.score) AS 'NumStudents'
FROM ScoreValues v 
  JOIN Tests t ON (v.score <= t.maxmarks)
  LEFT OUTER JOIN TestResults tr ON (v.score = tr.score AND t.testid = tr.testid)
WHERE t.testid = 'mytestid'
GROUP BY v.score;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL group_concat के बराबर प्रेस्टो

  2. PHP सरणी से सरल अद्यतन MySQl तालिका

  3. उपयोगकर्ता @ 'लोकलहोस्ट' के लिए डेटाबेस तक पहुंच अस्वीकृत ''

  4. mysql इंजेक्शन नुकसान?

  5. दो मैसकल टेबल्स के बीच मिसिंग वैल्यू कैसे खोजें