এসকিউএল একাধিক কলাম ক্রম


634

আমি এসকিউএল এবং বিভিন্ন দিকে একাধিক কলাম অনুসারে বাছাই করার চেষ্টা করছি। column1অবতরণ, এবং column2আরোহণ অনুসারে বাছাই করা হবে ।

কিভাবে আমি এটি করতে পারব?


85
এটি হ'ল "গুগলিং উত্তর" প্রথম ফলাফল। কমপক্ষে এটি তখন ছিল যখন আমি "দুটি কলাম দ্বারা বর্গক্ষেত্র অর্ডার করুন" গগল করি। এটি সমানুপাতিক অফিসিয়াল ডক পেজের চেয়ে অনেক বেশি পঠনযোগ্য যা এখনও আমার প্রথম পৃষ্ঠায় ফলাফল না উপস্থিত হওয়া পর্যন্ত আমি আমার প্রশ্নের "মাইকিকিএল" আদেশে "" পরিবর্তন করি না
অ্যান্ড্রু মার্টিন

11
কোনও এসও প্রশ্ন কতবার গুগলের শীর্ষে আসে তা প্রদত্ত, আমি সর্বদা এটি ভয়ানক দেখতে পাই যে লোকেরা এর সাথে উত্তর দেয়। উত্তরটি দেওয়ার জন্য এসও এখানে আছেন বা না থাকুন এবং কেন বুঝতে পারছেন না কেন সাইট ট্র্যাফিককে দূরে পরিচালিত করা ভাল জিনিস
ইউজার 1001

উত্তর:


1022
ORDER BY column1 DESC, column2

এটি column1প্রথমে (অবতরণ করে) এবং তারপরে column2(আরোহী, যা পূর্বনির্ধারিত) দ্বারা সমস্ত কিছু সাজায় যখনই column1দুই বা ততোধিক সারিগুলির ক্ষেত্র সমান হয়।


2
এখানে কীভাবে কলাম 1 বা কলাম 2 অর্ডার করবেন?
পলিদেব

@PoliDev, এটি COLUMN2 দ্বারা (ক্রম ঊর্ধ্বগামী) সাজানো অনুক্রমে COLUMN1 প্রথম আদেশ এবং
জহির

110
স্পষ্টতার জন্য, এটি column1প্রথমে এবং তারপরে column2যখনই column1দুটি সারিগুলির ক্ষেত্র সমান হয় তার দ্বারা সবকিছু সাজায়।
নিক বনেস

2
এটা তোলে এক্সপ্রেশন (যে কোন সংখ্যার জন্য কাজ করবে না আপনার RDBMS এর সীমা পর্যন্ত, শুধু কলাম)।
ইগনাসিও ওয়াজকেজ-আব্রামস

2
@ নিকবিনেস ... বা আপনি বলতে পারেন: এটি এর অনুসারে সাজায় column2এবং তারপরে স্ট্যাবল বাছাই করে column1। স্থিতিশীল বাছাই কী তা জানেন এমন লোকদের পক্ষে এটি আরও স্পষ্ট।
পরমাণু

356

অন্যান্য উত্তরগুলির একটি দৃ 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

23
এই উত্তরটি খুব সহায়ক এবং সংক্ষিপ্ত স্বীকৃত উত্তরের একটি পরিপূরক।
এন্ডারল্যান্ড

3
এটির বেশ কয়েকটি উদাহরণ উদাহরণ, অনেকে মনে করেন যে আপনি কীভাবে একযোগে 2 টি কলাম সাজিয়ে ফেলতে পারেন যা অর্ডার ক্যোয়ারির জন্য 2 টি কলাম
মুহাম্মদ ফারাজ

যখন আমরা তিনটি কলাম এবং প্রথম কলাম বাছাইয়ের ক্রম একই হয় এবং বাকি সমস্ত কিছু আলাদা হয় তখন এটি একই ফলাফল সরবরাহ করে। প্রাক্তন:: 1.Firstname asc, Lastname desc, yearOfBirst asc and 2.Firstname asc, Lastname desc, yearOfBirst desc আমরা কি এটি কাটিয়ে উঠতে পারি?
পরমেশ কোরাকাকুতি

1
@ পরমেশকোরাকাকুতি: এটি প্রত্যাশিত ফলাফল। আপনার উদাহরণের ফলাফলের অর্ডারিং কেবল তখনই আলাদা হবে যদি FirstName, LastNameস্বতন্ত্র সাথে সদৃশ এন্ট্রি থাকতYearOfBirth
টমাস সিজি ডি ভিলেনা

উদাহরণের জন্য ধন্যবাদ, এটি আমার মতো লোকদের বুঝতে সাহায্য করে।
থিপু


19

একাধিক কলামের ক্রম উভয় কলামের সম্পর্কিত মানগুলির উপর নির্ভর করে: এখানে আমার সারণীর উদাহরণ যেখানে বর্ণমালা এবং সংখ্যা সহ দুটি কলাম রয়েছে এবং এই দুটি কলামের মানগুলি asc এবং desc আদেশ রয়েছে orders

এখানে চিত্র বর্ণনা লিখুন

এখন আমি সঞ্চালন করে অর্ডার কমান্ড নিচে নির্বাহ করে এই দুই কলাম মধ্যে:

এখানে চিত্র বর্ণনা লিখুন

এখন আবার আমি এই দুটি কলামে নতুন মান সন্নিবেশ করলাম, যেখানে ASC ক্রমে বর্ণমালার মান :

এখানে চিত্র বর্ণনা লিখুন

এবং উদাহরণ টেবিলের কলামগুলি এ জাতীয় দেখাচ্ছে। এখন আবার একই অপারেশন করুন:

এখানে চিত্র বর্ণনা লিখুন

আপনি দেখতে পাচ্ছেন প্রথম কলামের মানগুলি ডেস্ক ক্রমে রয়েছে তবে দ্বিতীয় কলামটি ASC ক্রমে নেই।


এছাড়াও এই তথ্য sertোকান (g, 10),(g,12)। তারপরে, আপনার ক্রম অনুসারে ক্যোয়ারী চালান, আপনি ASCআদেশ হিসাবে দ্বিতীয় কলাম পাবেন (যার অর্থg-10,g-11,g-12)
পুগাল

6

আপনি একাধিক শর্তে একাধিক অর্ডার ব্যবহার করতে পারেন,

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 

ইনডেক্সিং কি কাজ করে, যদি আমি "অর্ডার বাই" এর ভিতরে "সিএসই" ব্যবহার করি?
রুসনুর জামান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.