ডাটাবেসে 2 টি ক্ষেত্রের জন্য পৃথক এসকিউএল


84

আপনি একটি ডাটাবেস সারণীতে 2 বিভিন্ন ক্ষেত্রের স্বতন্ত্র সমন্বয় পেতে পারেন? যদি তা হয় তবে আপনি এসকিউএল উদাহরণ সরবরাহ করতে পারেন।

উত্তর:


129

কীভাবে সহজভাবে:

select distinct c1, c2 from t

বা

select c1, c2, count(*)
from t
group by c1, c2

ডেটা উপর নির্ভর করে, গ্রুপ দ্বারা স্বতন্ত্র তুলনায় ধীর
noyer

4
Operand should contain 1 column(s)ত্রুটি দেখতে পাওয়া লোকদের জন্য , আপনার সমস্যাটি হ'ল আপনি সম্ভবত করছেন select distinct(c1, c2) from tএবং আপনার এখানে বন্ধনী অনুমোদিত নয়। আমি এখানে এসেছি।
বুকঅফগ্রিগ

16

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


7

আপনি এসকিউএল নীচে দুটি কলাম ব্যবহার করে ফলাফল স্বতন্ত্র পেতে পারেন:

SELECT COUNT(*) FROM (SELECT DISTINCT c1, c2 FROM [TableEntity]) TE

5

আপনি যদি এখনও একটি কলাম দ্বারা গ্রুপ করতে চান (যেমনটি আমি চেয়েছিলাম) আপনি কোয়েরিটি নীস্ট করতে পারেন:

select c1, count(*) from (select distinct c1, c2 from t) group by c1

3

আমার বোকা চিন্তা শেয়ার করুন:

হতে পারে আমি কেবল সি 1 এ পৃথক নির্বাচন করতে পারি তবে সি 2 তে নয়, বাক্য গঠনটি select ([distinct] col)+যেখানে থাকতে পারেdistinct প্রতিটি কলামের জন্য একটি কোয়ালিফায়ার হয়।

কিন্তু চিন্তার পর আমি দেখি যে শুধুমাত্র একটি কলাম উপর স্বতন্ত্র আজেবাজে কথা হয় । নিম্নলিখিত সম্পর্ক নিন:

   | A | B
__________
  1| 1 | 2
  2| 1 | 1

আমরা যদি select (distinct A), B, তাহলে Bজন্য উপযুক্ত কি A = 1?

সুতরাং, distinctএকটি জন্য একটি বাছাইকারী statement

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