"0" সহ এন্ট্রিগুলি বাদ দিতে, আপনাকে AVG() ফাংশনের সাথে NULLIF() ব্যবহার করতে হবে৷
সিনট্যাক্স নিম্নরূপ
আপনার টেবিলের নাম থেকে AVG(NULLIF(yourColumnName, 0)) যে কোনো উপনাম হিসেবে নির্বাচন করুন;
আসুন প্রথমে একটি টেবিল তৈরি করি
mysql> সারণি গড় ডেমো তৈরি করুন -> ( -> আইডি শূন্য নয় স্বয়ংক্রিয়_INCREMENT প্রাথমিক কী, -> StudentName varchar(20), -> StudentMarks int -> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.72 সেকেন্ড)
সন্নিবেশ কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড সন্নিবেশ করান।
প্রশ্নটি নিম্নরূপ
mysql> AverageDemo(StudentName,StudentMarks) মান ('Adam',NULL); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.12 সেকেন্ড)mysql> এভারেজডেমো(ছাত্রের নাম,স্টুডেন্টমার্কস) মানগুলিতে সন্নিবেশ করুন('ল্যারি',23);কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.19 সেকেন্ড)mysql> এভারেজডেমো(স্টুডেন্টনেম,স্টুডেন্টমার্কস) মান ('মাইক',0); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.20 সেকেন্ড)mysql> এভারেজডেমোতে ঢোকান(স্টুডেন্টমার্ক) মান('স্যাম',45);কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.18 সেকেন্ড)mysql> এভারেজডেমো(স্টুডেন্টনেম,স্টুডেন্টমার্কস) মান ('বব',0); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.12 সেকেন্ড)mysql> AverageDemo(StudentName,StudentMarks) মান ('David',32); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.18 সেকেন্ড)
সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন।
প্রশ্নটি নিম্নরূপ
mysql> AverageDemo থেকে *নির্বাচন করুন;
নিম্নলিখিত আউটপুট
+----+---------------+---------------+| আইডি | ছাত্রের নাম | স্টুডেন্টমার্কস |+------+---------------+-------------+| 1 | আদম | NULL || 2 | ল্যারি | 23 || 3 | মাইক | 0 || 4 | স্যাম | 45 || 5 | বব | 0 || 6 | ডেভিড | 32 |+----+-------------+------------+6 সারি সেটে (0.00 সেকেন্ড)
AVG
ব্যবহার করার সময় "0" সহ এন্ট্রিগুলি বাদ দেওয়ার জন্য নিম্নলিখিত প্রশ্নগুলি রয়েছে৷mysql> এভারেজডেমো থেকে AVG(nullif(StudentMarks, 0)) AS Exclude0Avg নির্বাচন করুন;
নিম্নলিখিত আউটপুট
<প্রে>+------------+| বাদ দিন0Avg |+------------+| 33.3333 |+-------------+1 সারি সেটে (0.05 সেকেন্ড)