私は個人的なプロジェクトに必要なパッケージを追跡するためにデータベースに取り組んでいます。私はこれを自分自身でデータベース設計とSQLを教えるための練習として扱っています。SQLiteでcount()行を複数選択するにはどうすればよいですか?
CREATE TABLE packages
(
ID INTEGER PRIMARY KEY,
Name TEXT UNIQUE ON CONFLICT REPLACE NOT NULL ON CONFLICT IGNORE
);
CREATE TABLE dependencies
(
dependentPackage INTEGER REFERENCES pages(ID),
requiredPackage INTEGER REFERENCES pages(ID)
);
dependencies.dependentPackageで参照されるパッケージには、私はテーブルを返し列NumPackagesRequired、との問い合わせをしたいdependencies.requiredPackage で参照されるパッケージに依存します:私は使用していたデータベースは、次のようなスキーマを持ちます私は試みることによってこれを達成することはできません
packageName | NumDependencies
package1 | 6
package5 | 8
package9 | 1
:それは次のようなものになります
SELECT p.name AS packageName, count (d.requiredPackage) AS numDependencies
FROM packages p
JOIN dependencies d ON d.dependentPackage=p.ID;
をbecau最初のパッケージの名前とすべての要件の数を含む1行だけを返します。 count()関数のパラメータとしてSELECT文をネストしようとしましたが、結果が1行しか得られませんでした。私は運の度のないsqliteのドキュメントを検索しました。
上記のようなテーブルを取得するにはどうすればよいですか?あなたはGROUP BYを使用している
私はあなたが 'GROUPを探していると思う:
また、相関サブクエリにcoutingを移動しますBY' –