দলবদ্ধকরণের সময় আমি কীভাবে কোনও টেবিল থেকে দীর্ঘতম 'স্ট্রিং' নির্বাচন করব


90

উদাহরণ:

SELECT partnumber, manufacturer, condition, SUM(qty), AVG(price), description FROM parts

WHERE [something]

GROUP BY partnumber, manufacturer, condition

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

আমি এটি চেষ্টা করেছি:

MAX(LENGTH(description)) 

তবে এটি স্ট্রিংয়ের অক্ষরের সংখ্যা প্রদান করে। আমি মাইএসকিউএল-তে যা করার চেষ্টা করছি তা করা কি সম্ভব?

উত্তর:



26
ORDER BY LENGTH(description) DESC LIMIT 1

এটি ফলাফলকে দীর্ঘতম থেকে সংক্ষিপ্ততম পর্যন্ত সজ্জিত করবে এবং প্রথম ফলাফল দেবে (দীর্ঘতম) will


3
SELECT   partnumber, manufacturer, `condition`, SUM(qty), AVG(price), description
FROM     parts
WHERE    [something] AND LENGTH(description) = (
           SELECT MAX(LENGTH(description))
           FROM   parts AS p
           WHERE  p.partnumber   = parts.partnumber
              AND p.manufacturer = parts.manufacturer
              AND p.condition    = parts.condition
         )
GROUP BY partnumber, manufacturer, `condition`

এটি একটি রেকর্ড নির্বাচনের জন্য চলমান সময় এবং লিখিত কোডে আমার 'ব্যয়বহুল' বলে মনে হয়। আমি মনে করি না যে একটি সাব-কোয়েরি সমস্যাটি হ্যান্ডেল করার সর্বোত্তম উপায়।
এমজেএইচ

4
@রোসা: আপনি ভার্বোসটি সম্পর্কে সঠিক, যদিও আমি নিশ্চিত নই যে পারফরম্যান্সের সময়টি বেশ আলাদা হবে (এটি এবং অর্ডার উভয়ই ফাইলসোর্টের প্রয়োজন)। এই সংস্করণটির সুবিধা হ'ল এটি কেবলমাত্র একটি একক অনিশ্চিত নয়, সর্বোচ্চ দৈর্ঘ্যের সমস্ত রেকর্ড প্রদান করে।
উদ্বিগ্ন

@ ক্রোসা: এছাড়াও, এই প্রশ্নটির পিছনে ফিরে তাকানো, আমার ধারণা আমার ধারণা ছিল যে ওপি প্রতিটি গ্রুপের দীর্ঘতম স্ট্রিং অর্জন করতে চেয়েছিল, সামগ্রিকভাবে দীর্ঘতম ফলাফলের চেয়ে।
উদয়জাল


0

দেখে মনে হচ্ছে আমি নিজের প্রশ্নের উত্তর দিয়েছি, MAX (বিবরণ) ঠিক ঠিক কাজ করছে বলে মনে হচ্ছে।


7
এটি আপনাকে দীর্ঘতম বিবরণ দেবে না , বরং বর্ণন যা ল্যাজিকাল সর্বাধিক (অর্থাৎ বর্ণানুক্রমিক ক্রমে)। তবে, যেহেতু এই আদেশটি খালিগুলির পরে কোনও খালি শূন্য বিবরণ রাখে, তাই এটির উপস্থিতি থাকলে এটি সর্বদা একটি শূন্য শূন্য বর্ণনায় দেখা দেয়: সম্ভবত এটি আপনার প্রয়োজনের জন্য যথেষ্ট?
উদ্গম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.