পোস্টগ্রিসে আমি দুটি ক্ষেত্রের এমআইএন () কীভাবে পাব?


140

ধরা যাক আমার মতো টেবিল রয়েছে:

name | score_a | score_b
-----+---------+--------
 Joe |   100   |   24
 Sam |    96   |  438
 Bob |    76   |  101
 ... |   ...   |  ...

আমি সর্বনিম্ন স্কোর_এ এবং স্কোর_ বি নির্বাচন করতে চাই। অন্য কথায়, এর মতো কিছু:

SELECT name, MIN(score_a, score_b)
FROM table

ফলাফল অবশ্যই হবে:

name | min
-----+-----
 Joe |  24
 Sam |  96
 Bob |  76
 ... | ...

যাইহোক, আমি পোস্টগ্রিসে এটি চেষ্টা করার পরে, আমি পেয়েছি, "প্রদত্ত নাম এবং যুক্তির ধরণের সাথে কোনও ফাংশন মেলে না You MAX () এবং MIN () কলামগুলির চেয়ে সারি জুড়ে কাজ করতে উপস্থিত হয়

আমি যা চেষ্টা করছি তা কি সম্ভব?

উত্তর:


246

সর্বনিম্ন (ক, খ):

GREATESTএবং LEASTফাংশন এক্সপ্রেশন যে কোন সংখ্যার একটি তালিকা থেকে বৃহত্তম বা ক্ষুদ্রতম মান নির্বাচন করুন। এক্সপ্রেশনগুলি অবশ্যই একটি সাধারণ ডেটা ধরণে রূপান্তরিত হতে হবে, যা ফলাফলের ধরণ হবে ( বিশদ জন্য বিভাগ 10.5 দেখুন)। তালিকার ন্যূন মানগুলি উপেক্ষা করা হয়। সমস্ত অভিব্যক্তি NULL এ মূল্যায়ন করলেই ফলাফলটি নুল হবে।

মনে রাখবেন GREATESTএবং LEASTএসকিউএল মান নয়, তবে এটি একটি সাধারণ এক্সটেনশন। কিছু অন্যান্য ডাটাবেসগুলি যদি সমস্ত যুক্তি শুকানো না হয় তার চেয়ে কোনও যুক্তি যদি নুল হয় তবে এগুলি ন্যূনল ফিরিয়ে দেয় ...


20
আমার মতো লোকদের জন্য যাদের MAX()দুটি GREATEST(a, b)
মানেরও


-16

আপনি এই তথ্যটি একটি কলামে এই জাতীয় তথ্য রেখে উত্তরটি পেতে পারেন:

SELECT name, MIN(score_a, score_b) as minimum_score
FROM table

এখানে, আমরা মধ্যে সর্বনিম্ন মান নির্বাণ হয় score_aএবং score_bএবং নামে একজন কলামে যে মান মজুত করে একই মুদ্রণ minimum_score


শুধুমাত্র min(expression)বিদ্যমান। ডক থেকে সংজ্ঞা : in` এক্সপ্রেশন` সহ সমস্ত ইনপুট মানগুলিতে অভিব্যক্তির সর্বনিম্ন মান হ'ল যে কোনও সংখ্যক, স্ট্রিং, তারিখ / সময়, নেটওয়ার্ক বা এনুম টাইপ বা এই ধরণের অ্যারেগুলি হয়
চার্লসডজি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.