以下のクエリは100個の結果を返し、各結果はさまざまな数で返します。結果の合計数(つまり100)の1つの行のみを返すようにクエリを変更するにはどうすればよいですか?SQLite3 - 1行の合計結果を出力するようにクエリを変更します。
SELECT COUNT(*)
FROM Album Al, Track T
WHERE Al.AlbumId = T.AlbumId
GROUP BY T.AlbumId
HAVING COUNT(T.TrackId) > 10;
以下のクエリは100個の結果を返し、各結果はさまざまな数で返します。結果の合計数(つまり100)の1つの行のみを返すようにクエリを変更するにはどうすればよいですか?SQLite3 - 1行の合計結果を出力するようにクエリを変更します。
SELECT COUNT(*)
FROM Album Al, Track T
WHERE Al.AlbumId = T.AlbumId
GROUP BY T.AlbumId
HAVING COUNT(T.TrackId) > 10;
これは少し遅れるかもしれませんが、以下のコードは正しい解決策です。アルバム内の各トラックではなく、10以上のトラック(100の結果)を持つアルバムの合計をカウントします。
SELECT COUNT(*)
FROM Album A
WHERE (SELECT COUNT(T.AlbumId) AS TrackCount
FROM Track T
WHERE A.AlbumId = T.AlbumId) > 10;
SELECT COUNT(SELECT * FROM Album Al, Track T
WHERE Al.AlbumId = T.AlbumId
GROUP BY T.AlbumId
HAVING COUNT(T.TrackId) > 10);
それとも
SELECT COUNT(Album.AlbumId)
FROM Album Al, Track T
WHERE Al.AlbumId = T.AlbumId
GROUP BY T.AlbumId
HAVING COUNT(T.TrackId) > 10;
わからないでテストするためのデータを持つことなく、しかし、私は最初のものは、あなたが探しているものだと思います。