6

こんにちは私はmysqlDBに次の表があります。

╔═══════════╦═════════╦════════╦════════════════╗
║ REVIEW_ID ║ USER_ID ║ STATUS ║   DATE_ADDED   ║
╠═══════════╬═════════╬════════╬════════════════╣
║       218 ║       2 ║ cool   ║ 20130121134811 ║
║       218 ║       2 ║ cool   ║ 20130121134812 ║
║       218 ║       2 ║ lame   ║ 20130121134813 ║
║       218 ║       2 ║ funny  ║ 20130121134814 ║
║       218 ║       2 ║ funny  ║ 20130121134815 ║
║       218 ║       2 ║ funny  ║ 20130121134816 ║
║       218 ║       2 ║ lame   ║ 20130121134817 ║
╚═══════════╩═════════╩════════╩════════════════╝

user_id各タイプの合計ステータスの結果を取得する必要があることに基づいてクエリを実行する場合、どのように結果を取得できますか?

╔════════╦════════════╗
║ STATUS ║ TOTALCOUNT ║
╠════════╬════════════╣
║ cool   ║          2 ║
║ funny  ║          3 ║
║ lame   ║          2 ║
╚════════╩════════════╝

ありがとう

4

4 に答える 4

13

集計関数であるwhichを使用COUNT()し、それらに従ってグループ化します。status

SELECT  status, COUNT(*) totalCount
FROM    tableName
GROUP   BY status

その他

于 2013-01-23T09:32:59.410 に答える
1
SELECT status, count(*)
FROM your_table
GROUP BY status
于 2013-01-23T09:33:30.387 に答える
1
SELECT status, count(*)
FROM yourtable
GROUP BY status
;
于 2013-01-23T09:35:51.343 に答える
0
SELECT  STATUS, COUNT(*) AS TOTALCOUNT
FROM    tableName
GROUP   BY STATUS
HAVING   USER_ID = user_id you need
于 2013-01-23T10:44:29.910 に答える