Method: projects.databases.documents.runAggregationQuery

একটি সমষ্টি প্রশ্ন চালায়।

Firestore.RunQuery এর মতো Document ফলাফল তৈরি করার পরিবর্তে, এই API AggregationResult সার্ভার-সাইডের একটি সিরিজ তৈরি করতে একটি সমষ্টি চালানোর অনুমতি দেয়।

উচ্চ-স্তরের উদাহরণ:

-- Return the number of documents in table given a filter.
SELECT COUNT(*) FROM ( SELECT * FROM k where a = true );

HTTP অনুরোধ

POST https://firestore.googleapis.com/v1beta1/{parent=projects/*/databases/*/documents}:runAggregationQuery

URL gRPC ট্রান্সকোডিং সিনট্যাক্স ব্যবহার করে।

পাথ প্যারামিটার

পরামিতি
parent

string

প্রয়োজন। মূল সম্পদের নাম। বিন্যাসে: projects/{projectId}/databases/{databaseId}/documents or projects/{projectId}/databases/{databaseId}/documents/{document_path} । যেমন: projects/my-project/databases/my-database/documents বা projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

শরীরের অনুরোধ

অনুরোধের অংশে নিম্নলিখিত কাঠামো সহ ডেটা রয়েছে:

JSON প্রতিনিধিত্ব
{
  "explainOptions": {
    object (ExplainOptions)
  },

  // Union field query_type can be only one of the following:
  "structuredAggregationQuery": {
    object (StructuredAggregationQuery)
  }
  // End of list of possible types for union field query_type.

  // Union field consistency_selector can be only one of the following:
  "transaction": string,
  "newTransaction": {
    object (TransactionOptions)
  },
  "readTime": string
  // End of list of possible types for union field consistency_selector.
}
ক্ষেত্র
explainOptions

object ( ExplainOptions )

ঐচ্ছিক। প্রশ্নের জন্য বিকল্প ব্যাখ্যা করুন। সেট করা হলে, অতিরিক্ত ক্যোয়ারী পরিসংখ্যান ফেরত দেওয়া হবে। যদি না হয়, শুধুমাত্র প্রশ্নের ফলাফল ফেরত দেওয়া হবে.

ইউনিয়ন ক্ষেত্র query_type । চালানোর জন্য প্রশ্ন. query_type নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
structuredAggregationQuery

object ( StructuredAggregationQuery )

একটি সমষ্টি প্রশ্ন.

ইউনিয়ন ক্ষেত্রের consistency_selector । ক্যোয়ারীটির জন্য ধারাবাহিকতা মোড, শক্তিশালী সামঞ্জস্যের জন্য ডিফল্ট। consistency_selector নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
transaction

string ( bytes format)

ইতিমধ্যে সক্রিয় লেনদেনের মধ্যে একত্রীকরণ চালান।

কোয়েরি চালানোর জন্য এখানে মান হল অস্বচ্ছ লেনদেন আইডি।

একটি base64-এনকোডেড স্ট্রিং।

newTransaction

object ( TransactionOptions )

ক্যোয়ারির অংশ হিসেবে একটি নতুন লেনদেন শুরু করে, ডিফল্ট করে শুধুমাত্র-পঠন।

স্ট্রীমের প্রথম প্রতিক্রিয়া হিসাবে নতুন লেনদেন আইডি ফেরত দেওয়া হবে।

readTime

string ( Timestamp format)

প্রদত্ত টাইমস্ট্যাম্পে অনুসন্ধান চালায়।

এটি অবশ্যই গত এক ঘন্টার মধ্যে একটি মাইক্রোসেকেন্ড নির্ভুল টাইমস্ট্যাম্প হতে হবে, অথবা যদি পয়েন্ট-ইন-টাইম পুনরুদ্ধার সক্ষম করা থাকে, অতিরিক্তভাবে গত 7 দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প হতে পারে৷

RFC3339 UTC "জুলু" ফর্ম্যাটে একটি টাইমস্ট্যাম্প, ন্যানোসেকেন্ড রেজোলিউশন এবং নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা। উদাহরণ: "2014-10-02T15:01:23Z" এবং "2014-10-02T15:01:23.045123456Z"

প্রতিক্রিয়া শরীর

Firestore.RunAggregationQuery এর প্রতিক্রিয়া।

সফল হলে, প্রতিক্রিয়া বডিতে নিম্নলিখিত কাঠামোর সাথে ডেটা থাকে:

JSON প্রতিনিধিত্ব
{
  "result": {
    object (AggregationResult)
  },
  "transaction": string,
  "readTime": string,
  "explainMetrics": {
    object (ExplainMetrics)
  }
}
ক্ষেত্র
result

object ( AggregationResult )

একটি একক সমষ্টির ফলাফল।

আংশিক অগ্রগতি রিপোর্ট করার সময় উপস্থিত নয়।

transaction

string ( bytes format)

এই অনুরোধের অংশ হিসাবে লেনদেন শুরু হয়েছিল।

অনুরোধটি একটি নতুন লেনদেন শুরু করার অনুরোধ করলে শুধুমাত্র প্রথম প্রতিক্রিয়ায় উপস্থিত হন।

একটি base64-এনকোডেড স্ট্রিং।

readTime

string ( Timestamp format)

যে সময়ে সমষ্টিগত ফলাফল গণনা করা হয়েছিল। এটি সর্বদা একঘেয়েভাবে বৃদ্ধি পাচ্ছে; এই ক্ষেত্রে, রেজাল্ট স্ট্রীমের পূর্ববর্তী অ্যাগ্রিগেশন রেজাল্ট তাদের readTime এবং এটির মধ্যে পরিবর্তিত না হওয়ার গ্যারান্টি দেওয়া হয়।

যদি ক্যোয়ারী কোন ফলাফল না দেয়, তাহলে readTime সহ একটি প্রতিক্রিয়া এবং কোন result পাঠানো হবে না এবং এটি সেই সময়ের প্রতিনিধিত্ব করে যে সময়ে ক্যোয়ারী চালানো হয়েছিল।

RFC3339 UTC "জুলু" ফর্ম্যাটে একটি টাইমস্ট্যাম্প, ন্যানোসেকেন্ড রেজোলিউশন এবং নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা। উদাহরণ: "2014-10-02T15:01:23Z" এবং "2014-10-02T15:01:23.045123456Z"

explainMetrics

object ( ExplainMetrics )

প্রশ্ন মেট্রিক্স ব্যাখ্যা. এটি শুধুমাত্র তখনই উপস্থিত থাকে যখন RunAggregationQueryRequest.explain_options প্রদান করা হয় এবং এটি স্ট্রীমের শেষ প্রতিক্রিয়ার সাথে শুধুমাত্র একবার পাঠানো হয়।

অনুমোদনের সুযোগ

নিম্নলিখিত OAuth সুযোগগুলির মধ্যে একটি প্রয়োজন:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

আরও তথ্যের জন্য, প্রমাণীকরণ ওভারভিউ দেখুন।

স্ট্রাকচার্ড অ্যাগ্রিগেশন কোয়েরি

একটি StructuredQuery এর উপর একটি সমষ্টি চালানোর জন্য Firestore ক্যোয়ারী।

JSON প্রতিনিধিত্ব
{
  "aggregations": [
    {
      object (Aggregation)
    }
  ],

  // Union field query_type can be only one of the following:
  "structuredQuery": {
    object (StructuredQuery)
  }
  // End of list of possible types for union field query_type.
}
ক্ষেত্র
aggregations[]

object ( Aggregation )

ঐচ্ছিক। structuredQuery ফলাফলের উপর প্রয়োগ করার জন্য সমষ্টির সিরিজ।

প্রয়োজন:

  • প্রতি ক্যোয়ারীতে সর্বনিম্ন এক এবং সর্বোচ্চ পাঁচটি সমষ্টি।
ইউনিয়ন ক্ষেত্র query_type । একত্রিত করার জন্য বেস কোয়েরি। query_type নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
structuredQuery

object ( StructuredQuery )

নেস্টেড স্ট্রাকচার্ড কোয়েরি।

সমষ্টি

একটি সমষ্টিকে সংজ্ঞায়িত করে যা একটি একক ফলাফল তৈরি করে।

JSON প্রতিনিধিত্ব
{
  "alias": string,

  // Union field operator can be only one of the following:
  "count": {
    object (Count)
  },
  "sum": {
    object (Sum)
  },
  "avg": {
    object (Avg)
  }
  // End of list of possible types for union field operator.
}
ক্ষেত্র
alias

string

ঐচ্ছিক। একত্রিতকরণের ফলাফল সংরক্ষণ করার জন্য ক্ষেত্রের ঐচ্ছিক নাম।

যদি প্রদান না করা হয়, Firestore ফর্ম্যাট field_<incremental_id++> । উদাহরণ স্বরূপ:

AGGREGATE
  COUNT_UP_TO(1) AS count_up_to_1,
  COUNT_UP_TO(2),
  COUNT_UP_TO(3) AS count_up_to_3,
  COUNT(*)
OVER (
  ...
);

হয়ে যায়:

AGGREGATE
  COUNT_UP_TO(1) AS count_up_to_1,
  COUNT_UP_TO(2) AS field_1,
  COUNT_UP_TO(3) AS count_up_to_3,
  COUNT(*) AS field_2
OVER (
  ...
);

প্রয়োজন:

  • সমস্ত একত্রীকরণ উপনাম জুড়ে অনন্য হতে হবে।
  • document field name সীমাবদ্ধতা মেনে চলুন।
ইউনিয়ন ফিল্ড operator । সঞ্চালনের জন্য একত্রিতকরণের ধরন, প্রয়োজনীয়৷ operator নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
count

object ( Count )

কাউন্ট এগ্রিগেটর।

sum

object ( Sum )

সমষ্টি সমষ্টি.

avg

object ( Avg )

গড় সমষ্টিকারী।

গণনা

প্রশ্নের সাথে মেলে এমন নথির সংখ্যা।

COUNT(*) একত্রীকরণ ফাংশন সমগ্র নথিতে কাজ করে তাই এটির কোনো ক্ষেত্রের উল্লেখ প্রয়োজন হয় না।

JSON প্রতিনিধিত্ব
{
  "upTo": string
}
ক্ষেত্র
upTo

string ( Int64Value format)

ঐচ্ছিক। গণনা করার জন্য সর্বাধিক সংখ্যক নথিতে ঐচ্ছিক সীমাবদ্ধতা।

এটি স্ক্যান করার জন্য নথির সংখ্যা, বিলম্বিতা এবং খরচ সীমিত করার জন্য একটি উপরের সীমা সেট করার একটি উপায় প্রদান করে।

অনির্দিষ্ট কোন সীমা হিসাবে ব্যাখ্যা করা হয়.

উচ্চ-স্তরের উদাহরণ:

AGGREGATE COUNT_UP_TO(1000) OVER ( SELECT * FROM k );

প্রয়োজন:

  • উপস্থিত থাকাকালীন শূন্যের চেয়ে বড় হতে হবে।

সমষ্টি

অনুরোধ করা ক্ষেত্রের মানগুলির সমষ্টি৷

  • শুধুমাত্র সাংখ্যিক মান একত্রিত করা হবে। NULL সহ সমস্ত অ-সাংখ্যিক মান বাদ দেওয়া হয়েছে৷

  • সমষ্টিগত মানগুলিতে NaN থাকলে, NaN প্রদান করে। ইনফিনিটি গণিত IEEE-754 মান অনুসরণ করে।

  • সমষ্টিগত মান সেট খালি থাকলে, 0 প্রদান করে।

  • একটি 64-বিট পূর্ণসংখ্যা প্রদান করে যদি সমস্ত একত্রিত সংখ্যা পূর্ণসংখ্যা হয় এবং সমষ্টির ফলাফল ওভারফ্লো না হয়। অন্যথায়, ফলাফল দ্বিগুণ হিসাবে ফিরে আসে। মনে রাখবেন যে সমস্ত সমষ্টিগত মান পূর্ণসংখ্যা হলেও, ফলাফলটি দ্বৈত হিসাবে ফেরত দেওয়া হয় যদি এটি একটি 64-বিট স্বাক্ষরিত পূর্ণসংখ্যার মধ্যে ফিট করতে না পারে। যখন এটি ঘটে, প্রত্যাবর্তিত মান নির্ভুলতা হারাবে।

  • যখন আন্ডারফ্লো হয়, তখন ভাসমান-বিন্দু সমষ্টি অ-নির্ধারক হয়। এর মানে হল যে অন্তর্নিহিত মানগুলির কোনও পরিবর্তন ছাড়াই একই কোয়েরি বারবার চালানোর ফলে প্রতিবার কিছুটা ভিন্ন ফলাফল হতে পারে। এই ক্ষেত্রে, মানগুলি ফ্লোটিং-পয়েন্ট সংখ্যার উপর পূর্ণসংখ্যা হিসাবে সংরক্ষণ করা উচিত।

JSON প্রতিনিধিত্ব
{
  "field": {
    object (FieldReference)
  }
}
ক্ষেত্র
field

object ( FieldReference )

একত্রিত করার জন্য ক্ষেত্র।

গড়

অনুরোধ করা ক্ষেত্রের মানগুলির গড়।

  • শুধুমাত্র সাংখ্যিক মান একত্রিত করা হবে। NULL সহ সমস্ত অ-সাংখ্যিক মান বাদ দেওয়া হয়েছে৷

  • সমষ্টিগত মানগুলিতে NaN থাকলে, NaN প্রদান করে। ইনফিনিটি গণিত IEEE-754 মান অনুসরণ করে।

  • সমষ্টিগত মান সেট খালি থাকলে, NULL প্রদান করে।

  • সর্বদা ডবল হিসাবে ফলাফল প্রদান করে।

JSON প্রতিনিধিত্ব
{
  "field": {
    object (FieldReference)
  }
}
ক্ষেত্র
field

object ( FieldReference )

একত্রিত করার জন্য ক্ষেত্র।

সমষ্টির ফলাফল

Firestore একত্রীকরণ ক্যোয়ারী থেকে একটি একক বালতির ফলাফল।

aggregateFields কীগুলি একটি সমষ্টিগত প্রশ্নের সমস্ত ফলাফলের জন্য একই, নথির প্রশ্নগুলির বিপরীতে যেখানে প্রতিটি ফলাফলের জন্য বিভিন্ন ক্ষেত্র উপস্থিত থাকতে পারে৷

JSON প্রতিনিধিত্ব
{
  "aggregateFields": {
    string: {
      object (Value)
    },
    ...
  }
}
ক্ষেত্র
aggregateFields

map (key: string, value: object ( Value ))

একত্রীকরণ ফাংশনের ফলাফল, যেমন: COUNT(*) AS total_docs

কী হল ইনপুটে একত্রীকরণ ফাংশনের জন্য নির্ধারিত alias এবং এই মানচিত্রের আকার ক্যোয়ারীতে একত্রীকরণ ফাংশনের সংখ্যার সমান।

"key": value জোড়া। উদাহরণ: { "name": "wrench", "mass": "1.3kg", "count": "3" }

,

একটি সমষ্টি প্রশ্ন চালায়।

Firestore.RunQuery এর মতো Document ফলাফল তৈরি করার পরিবর্তে, এই API AggregationResult সার্ভার-সাইডের একটি সিরিজ তৈরি করতে একটি সমষ্টি চালানোর অনুমতি দেয়।

উচ্চ-স্তরের উদাহরণ:

-- Return the number of documents in table given a filter.
SELECT COUNT(*) FROM ( SELECT * FROM k where a = true );

HTTP অনুরোধ

POST https://firestore.googleapis.com/v1beta1/{parent=projects/*/databases/*/documents}:runAggregationQuery

URL gRPC ট্রান্সকোডিং সিনট্যাক্স ব্যবহার করে।

পাথ প্যারামিটার

পরামিতি
parent

string

প্রয়োজন। মূল সম্পদের নাম। বিন্যাসে: projects/{projectId}/databases/{databaseId}/documents or projects/{projectId}/databases/{databaseId}/documents/{document_path} । যেমন: projects/my-project/databases/my-database/documents বা projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

শরীরের অনুরোধ

অনুরোধের অংশে নিম্নলিখিত কাঠামো সহ ডেটা রয়েছে:

JSON প্রতিনিধিত্ব
{
  "explainOptions": {
    object (ExplainOptions)
  },

  // Union field query_type can be only one of the following:
  "structuredAggregationQuery": {
    object (StructuredAggregationQuery)
  }
  // End of list of possible types for union field query_type.

  // Union field consistency_selector can be only one of the following:
  "transaction": string,
  "newTransaction": {
    object (TransactionOptions)
  },
  "readTime": string
  // End of list of possible types for union field consistency_selector.
}
ক্ষেত্র
explainOptions

object ( ExplainOptions )

ঐচ্ছিক। প্রশ্নের জন্য বিকল্প ব্যাখ্যা করুন। সেট করা হলে, অতিরিক্ত ক্যোয়ারী পরিসংখ্যান ফেরত দেওয়া হবে। যদি না হয়, শুধুমাত্র প্রশ্নের ফলাফল ফেরত দেওয়া হবে.

ইউনিয়ন ক্ষেত্র query_type । চালানোর জন্য প্রশ্ন. query_type নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
structuredAggregationQuery

object ( StructuredAggregationQuery )

একটি সমষ্টি প্রশ্ন.

ইউনিয়ন ক্ষেত্রের consistency_selector । ক্যোয়ারীটির জন্য ধারাবাহিকতা মোড, শক্তিশালী সামঞ্জস্যের জন্য ডিফল্ট। consistency_selector নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
transaction

string ( bytes format)

ইতিমধ্যে সক্রিয় লেনদেনের মধ্যে একত্রীকরণ চালান।

কোয়েরি চালানোর জন্য এখানে মান হল অস্বচ্ছ লেনদেন আইডি।

একটি base64-এনকোডেড স্ট্রিং।

newTransaction

object ( TransactionOptions )

ক্যোয়ারির অংশ হিসেবে একটি নতুন লেনদেন শুরু করে, ডিফল্ট করে শুধুমাত্র-পঠন।

স্ট্রীমের প্রথম প্রতিক্রিয়া হিসাবে নতুন লেনদেন আইডি ফেরত দেওয়া হবে।

readTime

string ( Timestamp format)

প্রদত্ত টাইমস্ট্যাম্পে অনুসন্ধান চালায়।

এটি অবশ্যই গত এক ঘন্টার মধ্যে একটি মাইক্রোসেকেন্ড নির্ভুল টাইমস্ট্যাম্প হতে হবে, অথবা যদি পয়েন্ট-ইন-টাইম পুনরুদ্ধার সক্ষম করা থাকে, অতিরিক্তভাবে গত 7 দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প হতে পারে৷

RFC3339 UTC "জুলু" ফর্ম্যাটে একটি টাইমস্ট্যাম্প, ন্যানোসেকেন্ড রেজোলিউশন এবং নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা। উদাহরণ: "2014-10-02T15:01:23Z" এবং "2014-10-02T15:01:23.045123456Z"

প্রতিক্রিয়া শরীর

Firestore.RunAggregationQuery এর প্রতিক্রিয়া।

সফল হলে, প্রতিক্রিয়া বডিতে নিম্নলিখিত কাঠামোর সাথে ডেটা থাকে:

JSON প্রতিনিধিত্ব
{
  "result": {
    object (AggregationResult)
  },
  "transaction": string,
  "readTime": string,
  "explainMetrics": {
    object (ExplainMetrics)
  }
}
ক্ষেত্র
result

object ( AggregationResult )

একটি একক সমষ্টির ফলাফল।

আংশিক অগ্রগতি রিপোর্ট করার সময় উপস্থিত নয়।

transaction

string ( bytes format)

এই অনুরোধের অংশ হিসাবে লেনদেন শুরু হয়েছিল।

অনুরোধটি একটি নতুন লেনদেন শুরু করার অনুরোধ করলে শুধুমাত্র প্রথম প্রতিক্রিয়ায় উপস্থিত হন।

একটি base64-এনকোডেড স্ট্রিং।

readTime

string ( Timestamp format)

যে সময়ে সমষ্টিগত ফলাফল গণনা করা হয়েছিল। এটি সর্বদা একঘেয়েভাবে বৃদ্ধি পাচ্ছে; এই ক্ষেত্রে, রেজাল্ট স্ট্রীমের পূর্ববর্তী অ্যাগ্রিগেশন রেজাল্ট তাদের readTime এবং এটির মধ্যে পরিবর্তিত না হওয়ার গ্যারান্টি দেওয়া হয়।

যদি ক্যোয়ারী কোন ফলাফল না দেয়, তাহলে readTime সহ একটি প্রতিক্রিয়া এবং কোন result পাঠানো হবে না এবং এটি সেই সময়ের প্রতিনিধিত্ব করে যে সময়ে ক্যোয়ারী চালানো হয়েছিল।

RFC3339 UTC "জুলু" ফর্ম্যাটে একটি টাইমস্ট্যাম্প, ন্যানোসেকেন্ড রেজোলিউশন এবং নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা। উদাহরণ: "2014-10-02T15:01:23Z" এবং "2014-10-02T15:01:23.045123456Z"

explainMetrics

object ( ExplainMetrics )

প্রশ্ন মেট্রিক্স ব্যাখ্যা. এটি শুধুমাত্র তখনই উপস্থিত থাকে যখন RunAggregationQueryRequest.explain_options প্রদান করা হয় এবং এটি স্ট্রীমের শেষ প্রতিক্রিয়ার সাথে শুধুমাত্র একবার পাঠানো হয়।

অনুমোদনের সুযোগ

নিম্নলিখিত OAuth সুযোগগুলির মধ্যে একটি প্রয়োজন:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

আরও তথ্যের জন্য, প্রমাণীকরণ ওভারভিউ দেখুন।

স্ট্রাকচার্ড অ্যাগ্রিগেশন কোয়েরি

একটি StructuredQuery এর উপর একটি সমষ্টি চালানোর জন্য Firestore ক্যোয়ারী।

JSON প্রতিনিধিত্ব
{
  "aggregations": [
    {
      object (Aggregation)
    }
  ],

  // Union field query_type can be only one of the following:
  "structuredQuery": {
    object (StructuredQuery)
  }
  // End of list of possible types for union field query_type.
}
ক্ষেত্র
aggregations[]

object ( Aggregation )

ঐচ্ছিক। structuredQuery ফলাফলের উপর প্রয়োগ করার জন্য সমষ্টির সিরিজ।

প্রয়োজন:

  • প্রতি ক্যোয়ারীতে সর্বনিম্ন এক এবং সর্বোচ্চ পাঁচটি সমষ্টি।
ইউনিয়ন ক্ষেত্র query_type । একত্রিত করার জন্য বেস কোয়েরি। query_type নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
structuredQuery

object ( StructuredQuery )

নেস্টেড স্ট্রাকচার্ড কোয়েরি।

সমষ্টি

একটি সমষ্টিকে সংজ্ঞায়িত করে যা একটি একক ফলাফল তৈরি করে।

JSON প্রতিনিধিত্ব
{
  "alias": string,

  // Union field operator can be only one of the following:
  "count": {
    object (Count)
  },
  "sum": {
    object (Sum)
  },
  "avg": {
    object (Avg)
  }
  // End of list of possible types for union field operator.
}
ক্ষেত্র
alias

string

ঐচ্ছিক। একত্রিতকরণের ফলাফল সংরক্ষণ করার জন্য ক্ষেত্রের ঐচ্ছিক নাম।

যদি প্রদান না করা হয়, Firestore ফর্ম্যাট field_<incremental_id++> । উদাহরণ স্বরূপ:

AGGREGATE
  COUNT_UP_TO(1) AS count_up_to_1,
  COUNT_UP_TO(2),
  COUNT_UP_TO(3) AS count_up_to_3,
  COUNT(*)
OVER (
  ...
);

হয়ে যায়:

AGGREGATE
  COUNT_UP_TO(1) AS count_up_to_1,
  COUNT_UP_TO(2) AS field_1,
  COUNT_UP_TO(3) AS count_up_to_3,
  COUNT(*) AS field_2
OVER (
  ...
);

প্রয়োজন:

  • সমস্ত একত্রীকরণ উপনাম জুড়ে অনন্য হতে হবে।
  • document field name সীমাবদ্ধতা মেনে চলুন।
ইউনিয়ন ফিল্ড operator । সঞ্চালনের জন্য একত্রিতকরণের ধরন, প্রয়োজনীয়৷ operator নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
count

object ( Count )

কাউন্ট এগ্রিগেটর।

sum

object ( Sum )

সমষ্টি সমষ্টি.

avg

object ( Avg )

গড় সমষ্টিকারী।

গণনা

প্রশ্নের সাথে মেলে এমন নথির সংখ্যা।

COUNT(*) একত্রীকরণ ফাংশন সমগ্র নথিতে কাজ করে তাই এটির কোনো ক্ষেত্রের উল্লেখ প্রয়োজন হয় না।

JSON প্রতিনিধিত্ব
{
  "upTo": string
}
ক্ষেত্র
upTo

string ( Int64Value format)

ঐচ্ছিক। গণনা করার জন্য সর্বাধিক সংখ্যক নথিতে ঐচ্ছিক সীমাবদ্ধতা।

এটি স্ক্যান করার জন্য নথির সংখ্যা, বিলম্বিতা এবং খরচ সীমিত করার জন্য একটি উপরের সীমা সেট করার একটি উপায় প্রদান করে।

অনির্দিষ্ট কোন সীমা হিসাবে ব্যাখ্যা করা হয়.

উচ্চ-স্তরের উদাহরণ:

AGGREGATE COUNT_UP_TO(1000) OVER ( SELECT * FROM k );

প্রয়োজন:

  • উপস্থিত থাকাকালীন শূন্যের চেয়ে বড় হতে হবে।

সমষ্টি

অনুরোধ করা ক্ষেত্রের মানগুলির সমষ্টি৷

  • শুধুমাত্র সাংখ্যিক মান একত্রিত করা হবে। NULL সহ সমস্ত অ-সাংখ্যিক মান বাদ দেওয়া হয়েছে৷

  • সমষ্টিগত মানগুলিতে NaN থাকলে, NaN প্রদান করে। ইনফিনিটি গণিত IEEE-754 মান অনুসরণ করে।

  • সমষ্টিগত মান সেট খালি থাকলে, 0 প্রদান করে।

  • একটি 64-বিট পূর্ণসংখ্যা প্রদান করে যদি সমস্ত একত্রিত সংখ্যা পূর্ণসংখ্যা হয় এবং সমষ্টির ফলাফল ওভারফ্লো না হয়। অন্যথায়, ফলাফল দ্বিগুণ হিসাবে ফিরে আসে। মনে রাখবেন যে সমস্ত সমষ্টিগত মান পূর্ণসংখ্যা হলেও, ফলাফলটি দ্বৈত হিসাবে ফেরত দেওয়া হয় যদি এটি একটি 64-বিট স্বাক্ষরিত পূর্ণসংখ্যার মধ্যে ফিট করতে না পারে। যখন এটি ঘটে, প্রত্যাবর্তিত মান নির্ভুলতা হারাবে।

  • যখন আন্ডারফ্লো হয়, তখন ভাসমান-বিন্দু সমষ্টি অ-নির্ধারক হয়। এর মানে হল যে অন্তর্নিহিত মানগুলির কোনও পরিবর্তন ছাড়াই একই কোয়েরি বারবার চালানোর ফলে প্রতিবার কিছুটা ভিন্ন ফলাফল হতে পারে। এই ক্ষেত্রে, মানগুলি ফ্লোটিং-পয়েন্ট সংখ্যার উপর পূর্ণসংখ্যা হিসাবে সংরক্ষণ করা উচিত।

JSON প্রতিনিধিত্ব
{
  "field": {
    object (FieldReference)
  }
}
ক্ষেত্র
field

object ( FieldReference )

একত্রিত করার জন্য ক্ষেত্র।

গড়

অনুরোধ করা ক্ষেত্রের মানগুলির গড়।

  • শুধুমাত্র সাংখ্যিক মান একত্রিত করা হবে। NULL সহ সমস্ত অ-সাংখ্যিক মান বাদ দেওয়া হয়েছে৷

  • সমষ্টিগত মানগুলিতে NaN থাকলে, NaN প্রদান করে। ইনফিনিটি গণিত IEEE-754 মান অনুসরণ করে।

  • সমষ্টিগত মান সেট খালি থাকলে, NULL প্রদান করে।

  • সর্বদা ডবল হিসাবে ফলাফল প্রদান করে।

JSON প্রতিনিধিত্ব
{
  "field": {
    object (FieldReference)
  }
}
ক্ষেত্র
field

object ( FieldReference )

একত্রিত করার জন্য ক্ষেত্র।

সমষ্টির ফলাফল

Firestore একত্রীকরণ ক্যোয়ারী থেকে একটি একক বালতির ফলাফল।

aggregateFields কীগুলি একটি সমষ্টিগত প্রশ্নের সমস্ত ফলাফলের জন্য একই, নথির প্রশ্নগুলির বিপরীতে যেখানে প্রতিটি ফলাফলের জন্য বিভিন্ন ক্ষেত্র উপস্থিত থাকতে পারে৷

JSON প্রতিনিধিত্ব
{
  "aggregateFields": {
    string: {
      object (Value)
    },
    ...
  }
}
ক্ষেত্র
aggregateFields

map (key: string, value: object ( Value ))

একত্রীকরণ ফাংশনের ফলাফল, যেমন: COUNT(*) AS total_docs

কী হল ইনপুটে একত্রীকরণ ফাংশনের জন্য নির্ধারিত alias এবং এই মানচিত্রের আকার ক্যোয়ারীতে একত্রীকরণ ফাংশনের সংখ্যার সমান।

"key": value জোড়া। উদাহরণ: { "name": "wrench", "mass": "1.3kg", "count": "3" }