স্কেলাইটে টেবিলের প্রথম / শীর্ষ সারিটি কীভাবে সিকিএল কোয়েরির মাধ্যমে পাবেন


90

স্ক্লাইট ডাটাবেসে আমার একটি সারণীর প্রথম / শীর্ষ সারিটি আনতে হবে।

তবে আমার প্রোগ্রামটি SQLException নিক্ষেপ করে "স্ক্লাইট সিনট্যাক্স ত্রুটি: আমি যে ক্যোয়ারীটি ব্যবহার করছি তার জন্য '1'" এর নিকটে সিনট্যাক্স ত্রুটি:

SELECT TOP 1 * 
FROM SAMPLE_TABLE

আমার ধারণা যে এমএস এসকিউএল সার্ভার এবং এমএস এক্সেসের জন্য একটি বাক্য গঠন। এখনই আমি ব্যবহার করছি।

SELECT *
FROM SAMPLE_TABLE
LIMIT 1

এই সমস্যার সর্বোত্তম সমাধান কী?


উল্লেখ করা উচিত যে বিকাশকারীদের সারণীতে রেকর্ডগুলির শারীরিক ক্রমের উপর নির্ভর করা উচিত নয়। এটি বিপদ ধারণা।
— রুসলান জাশুখিন

উত্তর:


143

নিম্নলিখিত কোয়েরি ব্যবহার করুন:

SELECT * FROM SAMPLE_TABLE ORDER BY ROWID ASC LIMIT 1

নোট: SQLite এর সারি ID উল্লেখ করা হয় বিস্তারিত ।


28

LIMIT 1আপনি কি চান কেবল অর্ডার নির্বিশেষে ফলাফল সেটটিতে এটি প্রথম রেকর্ডটি মনে রাখবে (যদি আপনি orderবাইরের ক্যোয়ারিতে কোনও ধারা উল্লেখ না করেন )।


4
LIMIT 1সম্পূর্ণ কোয়েরি কার্যকর করে এবং তারপরে অপ্রয়োজনীয় ফলাফলগুলি বাতিল করে দেয়। এটি সম্পর্কে বেশ কয়েকটি মেলিং তালিকা আলোচনা রয়েছে এবং COUNT(*)। এটির সাথে প্রথম ম্যাচের রেকর্ডটি খুঁজে পাওয়ার চেয়ে আলাদা TOP 1। প্রথম রেকর্ডটি পাওয়া গেলে ক্যোরিটি থামাতে এবং ফলাফলটি ফিরে আসতে পারে।
— jww
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.