MySQLに関する、ワクェの分からナゐ文章

当サイトには広告が含まれています。

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

↓SELECT * from `test` ;
MySQLのIN

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

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

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

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

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

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

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

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

重複除外しているハヅの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