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


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.