Distinct on query

Use distinct clause in a query.

Explore further

For detailed documentation that includes this code sample, see the following:

Code sample

C#

To learn how to install and use the client library for Datastore mode, see Datastore mode client libraries . For more information, see the Datastore mode C# API reference documentation .

To authenticate to Datastore mode, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  Query 
  
 query 
  
 = 
  
 new 
  
 Query 
 ( 
 "Task" 
 ) 
 { 
  
 Projection 
  
 = 
  
 { 
  
 "category" 
 , 
  
 "priority" 
  
 }, 
  
 DistinctOn 
  
 = 
  
 { 
  
 "category" 
  
 }, 
  
 Order 
  
 = 
  
 { 
  
 { 
  
 "category" 
 , 
  
 PropertyOrder 
 . 
 Types 
 . 
 Direction 
 . 
 Ascending 
 }, 
  
 { 
 "priority" 
 , 
  
 PropertyOrder 
 . 
 Types 
 . 
 Direction 
 . 
 Ascending 
  
 } 
  
 } 
 }; 
 

Go

To learn how to install and use the client library for Datastore mode, see Datastore mode client libraries . For more information, see the Datastore mode Go API reference documentation .

To authenticate to Datastore mode, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  query 
  
 := 
  
 datastore 
 . 
 NewQuery 
 ( 
 "Task" 
 ). 
  
 Project 
 ( 
 "Priority" 
 , 
  
 "Category" 
 ). 
  
 DistinctOn 
 ( 
 "Category" 
 ). 
  
 Order 
 ( 
 "Category" 
 ). 
 Order 
 ( 
 "Priority" 
 ) 
 

Java

To learn how to install and use the client library for Datastore mode, see Datastore mode client libraries . For more information, see the Datastore mode Java API reference documentation .

To authenticate to Datastore mode, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  Query<ProjectionEntity> 
  
 query 
  
 = 
  
 Query 
 . 
 newProjectionEntityQueryBuilder 
 () 
  
 . 
 setKind 
 ( 
 "Task" 
 ) 
  
 . 
 setProjection 
 ( 
 "category" 
 , 
  
 "priority" 
 ) 
  
 . 
 setDistinctOn 
 ( 
 "category" 
 ) 
  
 . 
 setOrderBy 
 ( 
 OrderBy 
 . 
 asc 
 ( 
 "category" 
 ), 
  
 OrderBy 
 . 
 asc 
 ( 
 "priority" 
 )) 
  
 . 
 build 
 (); 
 

Node.js

To learn how to install and use the client library for Datastore mode, see Datastore mode client libraries . For more information, see the Datastore mode Node.js API reference documentation .

To authenticate to Datastore mode, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  const 
  
 query 
  
 = 
  
 datastore 
  
 . 
 createQuery 
 ( 
 'Task' 
 ) 
  
 . 
 groupBy 
 ( 
 'category' 
 ) 
  
 . 
 order 
 ( 
 'category' 
 ) 
  
 . 
 order 
 ( 
 'priority' 
 ); 
 

PHP

To learn how to install and use the client library for Datastore mode, see Datastore mode client libraries . For more information, see the Datastore mode PHP API reference documentation .

To authenticate to Datastore mode, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  $query = $datastore->query() 
 ->kind('Task') 
 ->order('category') 
 ->order('priority') 
 ->projection(['category', 'priority']) 
 ->distinctOn('category'); 
 

Python

To learn how to install and use the client library for Datastore mode, see Datastore mode client libraries . For more information, see the Datastore mode Python API reference documentation .

To authenticate to Datastore mode, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  from 
  
 google.cloud 
  
 import 
  datastore 
 
 # For help authenticating your client, visit 
 # https://cloud.google.com/docs/authentication/getting-started 
 client 
 = 
  datastore 
 
 . 
  Client 
 
 () 
 query 
 = 
 client 
 . 
  query 
 
 ( 
 kind 
 = 
 "Task" 
 ) 
 query 
 . 
  distinct_on 
 
 = 
 [ 
 "category" 
 ] 
 query 
 . 
  order 
 
 = 
 [ 
 "category" 
 , 
 "priority" 
 ] 
 

Ruby

To learn how to install and use the client library for Datastore mode, see Datastore mode client libraries . For more information, see the Datastore mode Ruby API reference documentation .

To authenticate to Datastore mode, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  query 
  
 = 
  
 datastore 
 . 
 query 
 ( 
 "Task" 
 ) 
  
 . 
 select 
 ( 
 "category" 
 , 
  
 "priority" 
 ) 
  
 . 
 distinct_on 
 ( 
 "category" 
 ) 
  
 . 
 order 
 ( 
 "category" 
 ) 
  
 . 
 order 
 ( 
 "priority" 
 ) 
 

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser .

Design a Mobile Site
View Site in Mobile | Classic
Share by: