このクエリは効率的です。これは、サブクエリ内から同じテーブルから2回選択しています。クエリの効率
SELECT DISTINCT country, rowCount FROM
(
SELECT *, (
SELECT COUNT(id) FROM tbl WHERE hide != 1 AND country = y.country
) AS rowCount FROM tbl y
) AS x
HAVING rowCount >= 1
ORDER BY x.country ASC
私は必要なテーブルをインデックス化していると、クエリが「0.000秒」(HeidiSQLが言う)で実行されるので、それは良いことがあります、しかし、クエリの構造を改善するものがありますか?それは単一のクエリのように書き換えることができるように
このクエリは何をしますか? –
異なる国名のリストを選択します。同一の国コードを持つフィールドの数は1以上です。 – James
これは不必要に複雑です(私が問題を正しく理解している場合)。 –