以下のようなテーブルがあるとスル。

↓SELECT * from `test` ;
MySQLのIN_001

DISTINCTは重複除外なので、2つあるaaaは1つしか表示されない。

↓SELECT DISTINCT `vid` from `test` ;
MySQLのIN_002

コノ時、idやcontsは表示されない(しようがナゐ)。

重複除外ツッタッテ、ドレが除外され、ドレが残ったンかは分からん/若乱からヌェ。

さて、INは複数指定可能なので、vidがaaaかbbbのモノが選ばれる。

↓SELECT * from `test` WHERE `vid` IN ('aaa','bbb') ;
MySQLのIN_003

ナヌォで、INにSELECT DISTINCTを使い(サブクエリ)、SELECT *で全項目表示が可能だと思われるが、

↓SELECT * from `test` WHERE `vid` IN (SELECT DISTINCT `vid` from `test`) ;
MySQLのIN_004

重複除外しているハヅのid=5が表示される、コノ意味不明詐であるwwwww

ティヌァミに、

SELECT * from `test` WHERE `vid` IN (SELECT `vid` from `test`) ;

とシても、結果は同じでアル...

DISTINCTが無視される、隠蔽改竄虚偽捏造偽装!!!

DISTINCTは重複除外であるが、GROUP by(グループ化)でも書ける。

以下の2つは同じ結果を返す。

SELECT DISTINCT `vid` from `test` ;

SELECT `vid` from `test` GROUP by `vid` ;

,肋綵劼里茲Δidやcontsは表示されヅ(できない)、△魯哀襦璽弉修靴討い襯灰箸らも分かるように表示できない。

関連:DISTINCTの逆(重複を抽出するSQL文)

関連:[MySQL] ランキングなどで順位を取得する方法 [自己結合]

関連:[MySQL] idを詰める(連番を振り直す)方法

関連:163data.com.cnの拒否IPリストを自動生成(deny)

関連:Macでサーバー(Apache,PHP,MySQL,WordPress)を作る

関連:[Mac] PHPのバージョンが異なる問題 [HighSierra]

関連:Ubuntu 18.04.2 LTSの32ビット版

SQL 第2版 ゼロからはじめるデータベース操作
翔泳社 (2016-07-11)
売り上げランキング: 5,007

SQLアンチパターン
SQLアンチパターン
posted with amazlet at 19.08.05
Bill Karwin
オライリージャパン
売り上げランキング: 7,819

プレイステーション クラシック
ソニー・インタラクティブエンタテインメント
2018年12月発売 20タイトル収録
メガドライブミニ
セガゲームス
2019年9月発売 42タイトル収録
メガドライブミニW
セガゲームス
2019年9月発売 42タイトル収録
PCエンジン mini
コナミデジタルエンタテインメント
2020年3月発売 58タイトル収録
[PR] au WALLETカードの情報 - auのプリペイドカードでショッピングをおトクに!