タイトルの通り。
例: ポケモン人気投票
vote
テーブルの内容
実際は pokemon_id
みたいに管理してると思うけど分かりやすさのために今回は名前そのままにしました
id | pokemon |
---|---|
1 | コイル |
2 | コイル |
3 | ピカチュウ |
4 | コイル |
5 | ピカチュウ |
6 | コイル |
7 | シェイミ |
8 | コイル |
9 | ギラティナ |
欲しい結果
array(4) {
[0]=>
object(stdClass)#1 (2) {
["pokemon"]=>
string(9) "コイル"
["sum"]=>
string(1) "5"
}
[1]=>
object(stdClass)#2 (2) {
["pokemon"]=>
string(15) "ピカチュウ"
["sum"]=>
string(1) "2"
}
[2]=>
object(stdClass)#3 (2) {
["pokemon"]=>
string(12) "シェイミ"
["sum"]=>
string(1) "1"
}
[3]=>
object(stdClass)#4 (2) {
["pokemon"]=>
string(15) "ギラティナ"
["sum"]=>
string(1) "1"
}
}
SQL文
SUM(1)
が決め手。
SELECT `pokemon`, SUM(1) AS `sum`
FROM `vote`
GROUP BY `pokemon`
ORDER BY `sum` DESC
PHPでどう扱うかに関しては下記を参照してください。