আমি এসকিউএল এবং বিভিন্ন দিকে একাধিক কলাম অনুসারে বাছাই করার চেষ্টা করছি। column1
অবতরণ, এবং column2
আরোহণ অনুসারে বাছাই করা হবে ।
কিভাবে আমি এটি করতে পারব?
আমি এসকিউএল এবং বিভিন্ন দিকে একাধিক কলাম অনুসারে বাছাই করার চেষ্টা করছি। column1
অবতরণ, এবং column2
আরোহণ অনুসারে বাছাই করা হবে ।
কিভাবে আমি এটি করতে পারব?
উত্তর:
ORDER BY column1 DESC, column2
এটি column1
প্রথমে (অবতরণ করে) এবং তারপরে column2
(আরোহী, যা পূর্বনির্ধারিত) দ্বারা সমস্ত কিছু সাজায় যখনই column1
দুই বা ততোধিক সারিগুলির ক্ষেত্র সমান হয়।
column1
প্রথমে এবং তারপরে column2
যখনই column1
দুটি সারিগুলির ক্ষেত্র সমান হয় তার দ্বারা সবকিছু সাজায়।
column2
এবং তারপরে স্ট্যাবল বাছাই করে column1
। স্থিতিশীল বাছাই কী তা জানেন এমন লোকদের পক্ষে এটি আরও স্পষ্ট।
অন্যান্য উত্তরগুলির একটি দৃ concrete় উদাহরণের অভাব রয়েছে, সুতরাং এটি এখানে যায়:
নিম্নলিখিত লোকের টেবিল দেওয়া:
FirstName | LastName | YearOfBirth
----------------------------------------
Thomas | Alva Edison | 1847
Benjamin | Franklin | 1706
Thomas | More | 1478
Thomas | Jefferson | 1826
আপনি যদি নীচে কোয়েরিটি কার্যকর করেন:
SELECT * FROM People ORDER BY FirstName DESC, YearOfBirth ASC
ফলাফল সেটটি দেখতে এইরকম হবে:
FirstName | LastName | YearOfBirth
----------------------------------------
Thomas | More | 1478
Thomas | Jefferson | 1826
Thomas | Alva Edison | 1847
Benjamin | Franklin | 1706
1.Firstname asc, Lastname desc, yearOfBirst asc and 2.Firstname asc, Lastname desc, yearOfBirst desc
আমরা কি এটি কাটিয়ে উঠতে পারি?
FirstName, LastName
স্বতন্ত্র সাথে সদৃশ এন্ট্রি থাকতYearOfBirth
একাধিক কলামের ক্রম উভয় কলামের সম্পর্কিত মানগুলির উপর নির্ভর করে: এখানে আমার সারণীর উদাহরণ যেখানে বর্ণমালা এবং সংখ্যা সহ দুটি কলাম রয়েছে এবং এই দুটি কলামের মানগুলি asc এবং desc আদেশ রয়েছে orders
এখন আমি সঞ্চালন করে অর্ডার কমান্ড নিচে নির্বাহ করে এই দুই কলাম মধ্যে:
এখন আবার আমি এই দুটি কলামে নতুন মান সন্নিবেশ করলাম, যেখানে ASC ক্রমে বর্ণমালার মান :
এবং উদাহরণ টেবিলের কলামগুলি এ জাতীয় দেখাচ্ছে। এখন আবার একই অপারেশন করুন:
আপনি দেখতে পাচ্ছেন প্রথম কলামের মানগুলি ডেস্ক ক্রমে রয়েছে তবে দ্বিতীয় কলামটি ASC ক্রমে নেই।
(g, 10),(g,12)
। তারপরে, আপনার ক্রম অনুসারে ক্যোয়ারী চালান, আপনি ASC
আদেশ হিসাবে দ্বিতীয় কলাম পাবেন (যার অর্থg-10,g-11,g-12)
আপনি একাধিক শর্তে একাধিক অর্ডার ব্যবহার করতে পারেন,
ORDER BY
(CASE
WHEN @AlphabetBy = 2 THEN [Drug Name]
END) ASC,
CASE
WHEN @TopBy = 1 THEN [Rx Count]
WHEN @TopBy = 2 THEN [Cost]
WHEN @TopBy = 3 THEN [Revenue]
END DESC