<!--
SPDX-FileCopyrightText: The Apache Software Foundation

SPDX-License-Identifier: Apache-2.0
-->

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Arrow.ArrayStatistics.get_distinct_count</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <meta charset="utf-8" />

  
  <meta property="og:type" content="website"/>

  

  
  <meta priority="og:title" content="Arrow.ArrayStatistics.get_distinct_count"/>
  <meta priority="og:description" content="Reference for Arrow.ArrayStatistics.get_distinct_count"/>
  <meta name="twitter:title" content="Arrow.ArrayStatistics.get_distinct_count"/>
  <meta name="twitter:description" content="Reference for Arrow.ArrayStatistics.get_distinct_count"/>


  
  <meta name="twitter:card" content="summary"/>

  
  
  
  

  <link rel="stylesheet" href="style.css" type="text/css" />

  

  
  <script src="urlmap.js"></script>
  
  
  <script src="fzy.js"></script>
  <script src="search.js"></script>
  
  <script src="main.js"></script>

  
</head>

<body>
  <div id="body-wrapper" tabindex="-1">

    <nav class="sidebar devhelp-hidden">
      
      
      <div class="search section">
        <form id="search-form" autocomplete="off">
          <input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
        </form>
      </div>
      
      <div class="section namespace">
        <h3><a href="index.html">Arrow</a></h3>
        <p>API Version: 25.0</p>
        
        <p>Library Version: 25.0.0.dev</p>
        
      </div>
      
<div class="section">
  <h5>Type</h5>
  <div class="links">
    <a href="class.ArrayStatistics.html">ArrayStatistics</a>
  </div>
</div>
<div class="section">
  <h5>Methods</h5>
  <div class="links">
  
    <a class="method current" href="method.ArrayStatistics.get_distinct_count.html">get_distinct_count</a>
  
    <a class="method" href="method.ArrayStatistics.get_distinct_count_approximate.html">get_distinct_count_approximate</a>
  
    <a class="method" href="method.ArrayStatistics.get_distinct_count_exact.html">get_distinct_count_exact</a>
  
    <a class="method" href="method.ArrayStatistics.get_null_count.html">get_null_count</a>
  
    <a class="method" href="method.ArrayStatistics.get_null_count_approximate.html">get_null_count_approximate</a>
  
    <a class="method" href="method.ArrayStatistics.get_null_count_exact.html">get_null_count_exact</a>
  
    <a class="method" href="method.ArrayStatistics.has_distinct_count.html">has_distinct_count</a>
  
    <a class="method" href="method.ArrayStatistics.has_null_count.html">has_null_count</a>
  
    <a class="method" href="method.ArrayStatistics.is_distinct_count_exact.html">is_distinct_count_exact</a>
  
    <a class="method" href="method.ArrayStatistics.is_null_count_exact.html">is_null_count_exact</a>
  
  </div>
</div>

      <div class="section generator">
        <p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.3</p>
      </div>
    </nav>

    <button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>

    
<section id="main" class="content">
  <header>
    <h3>Method</h3>
    <h1><a href="index.html">Arrow</a><span class="sep"></span><a href="class.ArrayStatistics.html">ArrayStatistics</a><span class="sep"></span>get_distinct_count</h1>
  </header>

  <section>
    <div class="docblock">
      <p><span class="emblem deprecated">deprecated: 22.0.0.</span>&nbsp;<span class="emblem available">since: 21.0.0</span></p>
    </div>

    <div class="declaration toggle-wrapper">
      <h4 style="display:flex;" id="declaration">
        Declaration
        <a class="anchor" href="#declaration"></a>
        
        <a class="srclink" title="go to source location" href="https://github.com/apache/arrow/blob/main/c_glib/arrow-glib/basic-array.h#L83">[src]</a>
        
      </h4>

      <div class="docblock c-decl">
        <pre><code><div class="highlight"><pre><span></span><span class="n">gint64</span>
<span class="n">garrow_array_statistics_get_distinct_count</span><span class="w"> </span><span class="p">(</span>
<span class="w">  </span><span class="n">GArrowArrayStatistics</span><span class="o">*</span><span class="w"> </span><span class="n">statistics</span>
<span class="p">)</span>
</pre></div>
</code></pre>
      </div>
    </div>

    <div class="description toggle-wrapper">
      <h4 style="display:flex;" id="description">
        Description
        <a class="anchor" href="#description"></a>
        
      </h4>

      <div class="docblock">
        <p>No description available.</p>
      </div>

      <div class="docblock">
        
        <p>Available since: 21.0.0</p>
        <div class="admonition deprecation">
          <p class="admonition-title">Deprecated since: 22.0.0.</p><p>Use garrow_array_statistics_is_distinct_count_exact(),
  <code>garrow_array_statistics_get_distinct_count_exact()</code> and
  <code>garrow_array_statistics_get_distinct_count_approximate()</code> instead.</p></div>
        
        
        
        
      </div>

      
    </div>

    

    
    <div class="return-value toggle-wrapper">
      <h4 id="return-value">
        Return value
        <a href="#return-value" class="anchor"></a>
      </h4>

      <div class="docblock">
        <div class="returns">
          <div class="arg-description">
            <p><em>Type:</em>&nbsp;<code>gint64</code></p>
            <p>0 or larger value if <code>statistics</code> has a valid distinct count value,
  -1&nbsp;otherwise.</p>
          </div>
          <div>
            <table>
            
            
            
            
            
            
            </table>
          </div>
        </div>
      </div>
    </div>
    

  </section>
</section>


    

    <section id="search" class="content hidden"></section>

    <footer>
    
    </footer>
  </div>
</body>
</html>