sql distinct使用方法

Jun 07, 2016 pm 05:49 PM
distinct 明確な用法

本文章来给各位朋友介绍distinct用法及distinct在使用过程中一些常用见问题总结,有需要了解distinct用法的朋友可参考参考。

 SQL SELECT DISTINCT 语句
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。

关键词 DISTINCT 用于返回唯一不同的值。

语法:
SELECT DISTINCT 列名称 FROM 表名称

如需从 Company" 列中仅选取唯一不同的值,我们需要使用 SELECT DISTINCT 语句:

 代码如下 复制代码

SELECT DISTINCT Company FROM Orders


distinct 关键字失效的办法


用distinct关键字只能过滤查询字段中所有记录相同的(记录集相同),而如果要指定一个字段却没有效果,另外

distinct关键字会排序,效率很低。

distinct name from t1 能消除重复记录,但只能取一个字段,现在要同时取id,name这2个字段的值。
select distinct id,name from t1 可以取多个字段,但只能消除这2个字段值全部相同的记录
所以用distinct达不到想要的效果,用   可以解决这个问题。

例如要显示的字段为A、B、C三个,而A字段的内容不能重复可以用下面的语句:

 代码如下 复制代码
select A, min(B),min(C),count(*) from [table] where [条件] group by   A
having [条件] order by A desc

为了显示标题头好看点可以把select A, min(B),min(C),count(*) 换称select A as A, min(B) as B,min(C) as

C,count(*) as 重复次数

显示出来的字段和排序字段都要包括在group by 中
但显示出来的字段包有min,max,count,avg,sum等聚合函数时可以不在group by 中
如上句的min(B),min(C),count(*)
一般条件写在where 后面
有聚合函数的条件写在having 后面
如果在上句中having加 count(*)>1   就可以查出记录A的重复次数大于1的记录
如果在上句中having加 count(*)>2   就可以查出记录A的重复次数大于2的记录
如果在上句中having加 count(*)>=1   就可以查出所有的记录,但重复的只显示一条,并且后面有显示重复的次数-

---这就是所需要的结果,而且语句可以通过hibernate

下面语句可以查询出那些数据是重复的:
select 字段1,字段2,count(*) from 表名 group by 字段1,字段2 having count(*) > 1

将上面的>号改为=号就可以查询出没有重复的数据了。

例如

 代码如下 复制代码

select count(*) from (select gcmc,gkrq,count(*) from gczbxx_zhao t group by gcmc,gkrq having

count(*)>=1 order by GKRQ)

推荐使用:

select * from gczbxx_zhao where viewid in ( select max(viewid) from gczbxx_zhao group by

gcmc ) order by gkrq desc

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MySQLでdistinctとgroup byを使用する方法 MySQLでdistinctとgroup byを使用する方法 May 26, 2023 am 10:34 AM

まず一般的な結論について話しましょう。セマンティクスが同じでインデックスがある場合、groupby とdistinct の両方がインデックスを使用でき、効率は同じです。同じセマンティクスでインデックスがない場合、distinct は groupby よりも効率的です。その理由は、distinct と groupby の両方がグループ化操作を実行しますが、groupby がソートを実行してファイルソートをトリガーする可能性があり、その結果 SQL 実行が非効率になるためです。この結論に基づいて、同じセマンティクスとインデックスを持つのに、なぜ groupby とdistinct が効率的なのかと疑問に思うかもしれません。 groupby はどのような状況でソート操作を実行しますか?これら 2 つの質問に対する答えを見つけてください。次にdistを見てみましょう

mysqlのDISTINCTの使い方 mysqlのDISTINCTの使い方 Jun 03, 2023 pm 05:56 PM

mysql の DISTINCT キーワードには、多くの予期せぬ用途があります。1. SELECTCOUNT(DISTINCTid) FROMtablename など、重複しないレコードを数えるときに使用できます。これは、talbebname テーブル内の異なる ID を持つレコードの数を数えるために使用されます。レコードを返す必要がある 異なる ID の特定の値については、たとえば SELECTDISTINCTidFROMtablename; を使用して、talbebname テーブル内の異なる ID の特定の値を返すことができます。 mysql テーブル内の 3 つ以上の列の結果 (SELECTDISTINCTid など) を返す、タイプ

SQL の解析での unique キーワードの使用 SQL の解析での unique キーワードの使用 Feb 18, 2024 pm 09:21 PM

SQL での個別の使用法の詳細な説明 SQL データベースでは、重複データを削除する必要がある状況によく遭遇します。現時点では、distinct キーワードを使用すると、重複データを削除し、クエリ結果をより明確かつ正確にすることができます。 Different の基本的な使用法は非常に簡単で、select ステートメントで Distinct キーワードを使用するだけです。たとえば、次は通常の選択ステートメントです: SELECTcolumn_name

Oracleでのdistinctの使用法は何ですか? Oracleでのdistinctの使用法は何ですか? Jul 11, 2023 am 09:35 AM

Oracle の独自の使用法により、結果セット内の重複行をフィルタリングして、「SELECT」句で返される指定された列の値が一意であることを確認できます。構文は「SELECT DISTINCT カラム 1、カラム 2、カラム 3... テーブル名から」です。「distinct」は返された結果セットをソートし、「order by」と組み合わせて使用​​すると効率が向上します。

MySQL DISTINCT 最適化を通じてパフォーマンスを向上させる方法 MySQL DISTINCT 最適化を通じてパフォーマンスを向上させる方法 May 11, 2023 am 08:12 AM

MySQL は、現在最も広く使用されているリレーショナル データベースの 1 つです。大規模なデータ ストレージとクエリでは、データベースのパフォーマンスを最適化することが重要です。このうち、DISTINCT は一般的に使用される重複排除クエリ演算子です。この記事では、MySQL DISTINCT 最適化を通じてデータベース クエリのパフォーマンスを向上させる方法を紹介します。 1. DISTINCT の原則と欠点 DISTINCT キーワードは、クエリ結果から重複行を削除するために使用されます。大量のデータの場合、クエリ内に複数の重複値が存在する可能性があり、結果として出力データが冗長になります。

SQL での個別の使用法 SQL での個別の使用法 Jan 26, 2024 pm 03:14 PM

SQL の DISTINCT は、一意の結果セットをクエリするために使用されるキーワードです。SELECT ステートメント、COUNT 集計関数、およびその他のステートメントで使用できます。基本的な構文は「SELECT DISTINCT column1, column2」で、DISTINCT キーワードは SELECT キーに配置されます。単語の後に、クエリ対象の列名または式がカンマで区切られて続きます。

mysqlで個別の複数の列をカウントする問題を解決する方法 mysqlで個別の複数の列をカウントする問題を解決する方法 Jun 03, 2023 am 10:49 AM

再現されたテスト データベースは次のとおりです。 CREATETABLE`test_distinct`(`id`int(11)NOTNULLAUTO_INCREMENT,`a`varchar(50)CHARACTERSETutf8DEFAULTNULL,`b`varchar(50)CHARACTERSETutf8DEFAULTNULL,PRIMARYKEY(`id`))ENGINE= InnoDBAUTO_INCREMENT =1DEFAULTCHARSET=latin1;テーブル内のテスト データは次のとおりです。次に、これら 3 つの列の重複排除された列をカウントする必要があります。

SQLでdistinctを使用する方法 SQLでdistinctを使用する方法 Jan 25, 2024 am 11:52 AM

SQL の DISTINCT キーワードは、クエリ結果から重複行を削除するために使用されます。これを SELECT ステートメントの 1 つ以上の列に適用して、一意の値の組み合わせを返すことができます。使用方法は「SELECT DISTINCT column1, column2, ...」です。 DISTINCT キーワードは、指定されたすべての列に作用します。複数の列が結合されて異なる結果が生成される場合、これらの行も異なるとみなされ、重複排除されません。

See all articles