নেগেটিভ ভ্যালু সহ হিস্টোগ্রাম দেখাতে REVERSE(), RPAD(), REPEAT() এবং CONCAT() ফাংশন কম্বাইন করা হয়।
উদাহরণ:
টেবিল তৈরি:
CREATE TABLE DemoTable632 (
histogramId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
histogramValue INT,
histogramImage TEXT
);
রেকর্ড যোগ করা:
INSERT INTO DemoTable632(histogramValue) VALUES(2), (3), (-6), (-5);
সব রেকর্ড দেখানো:
SELECT * FROM DemoTable632;
আউটপুট:
+-------------+----------------+----------------+ | histogramId | histogramValue | histogramImage | +-------------+----------------+----------------+ | 1 | 2 | NULL | | 2 | 3 | NULL | | 3 | -6 | NULL | | 4 | -5 | NULL | +-------------+----------------+----------------+
হিস্টোগ্রাম জেনারেট কোয়েরি:
SELECT histogramId, histogramValue,
CONCAT(
REVERSE(RPAD(REPEAT('*', IF(histogramValue < 0, -histogramValue, 0)), 100, ' ')),
REPEAT('*', IF(histogramValue < 0, 0, histogramValue))
) AS histogramImage
FROM DemoTable632
ORDER BY histogramId;
ফলাফল:
+-------------+----------------+----------------+ | histogramId | histogramValue | histogramImage | +-------------+----------------+----------------+ | 1 | 2 | ** | | 2 | 3 | *** | | 3 | -6 | ****** | | 4 | -5 | ***** | +-------------+----------------+----------------+
ব্যাখ্যা: পজিটিভ ভ্যালুর জন্য ডান পাশে, নেগেটিভের জন্য বাম পাশে এস্টারিস্ক (*) প্রিন্ট হয়। IF() দিয়ে শর্ত চেক করা হয়। REPEAT('*', n) n সংখ্যক * বানায়। RPAD(..., 100, ' ') ১০০ ক্যারেক্টার عرضে প্যাড করে। REVERSE() দিয়ে বাম পাশে আনে। কনসোল/টার্মিনালে ভিজুয়ালাইজেশনের জন্য কার্যকর।