SQL

MySQLで、副問い合わせで検索した複数のカラムの値を条件として、同じテーブルのデータを削除する

タイトルに書いたことを次のように実施しようとしてエラーとなった。 delete from スキーマ名.テーブル名 where (カラム1,カラム2) IN( SELECT カラム1 ,MAX(カラム2) as カラム2 from スキーマ名.テーブル名 where 条件カラム3=1 and カラム1 IN (1,…

特定カラムのデータの出現頻度を調べるSQL

SQL

集計するだけ。 select カラム名, count(カラム名) as カラム別名 from テーブル名 group by カラム名 order by カラム別名 desc;

IN句を使用してselectで条件付き検索した結果を、IN句で指定した順番で抽出する

field句を使用して、次のようにすれば良い。 ポイントは、field句でカラム名を囲む際に、バッククォート(`)を使用すること。アポストロフィーだと期待する動きにならない。 SELECT id FROM table where id in (1,5,3,2) order by field(`id`, 1,5,3,2) ; …