4

現在、アルバム名、アーティスト、タイトルが含まれているテーブルがあります(Mp3の場合)。左側の私のWebページでは、現在、以下を使用してすべてのアルバム名を表示しています。

SELEC DISTINCT `album` FROM `mp3`

ただし、各アルバムの量をその横に表示したいと思います。たとえば、次のようになります。

A Very Good Album (3)

そのレコードに3つの全体があることを示します。SQLでこれを行うことはできますか?Distinctを選択しますが、そのアルバムの数も調べますか?

4

6 に答える 6

2

ではなくDISTINCT、これは実際にはによってグループ化された基本的なCOUNT()集計albumです。

SELECT
  album,
  COUNT(*) AS num_records
FROM 
  mp3
GROUP BY album

SQL クエリ内の括弧内に入れたい場合は、 を使用しますCONCAT()。ただし、これはおそらくアプリケーションに表示を任せるのが最善です。

SELECT
  /* The album title, and count in () as one column as a single string */
  /* like "A Very Good Album (3)" */
  CONCAT(album, ' (', COUNT(*), ')') AS album 
FROM
  mp3
GROUP BY album
于 2012-12-13T14:44:07.740 に答える
1

あなたが欲しいgroup by

select album, count(*)
from mp3
group by album
于 2012-12-13T14:44:07.257 に答える
0

を見てCount()Group By

于 2012-12-13T14:44:17.973 に答える
0
SELECT DISTINCT CONCAT(album, ' (', COUNT(DISTINCT album), ')') AS album
FROM            mp3
GROUP BY        album
于 2012-12-13T14:46:45.760 に答える