お世話になります。
よく他のサイトなどで見かけるカテゴリ分けの際にそのカテゴリに属する件数を表示する際、下記のどような方法が賢いのでしょうか?
【例】
登録されている不動産データ(1万件前後とします)を県別でカテゴリ表示
・東京都(1,234)
・神奈川県(987)
というように表示をしたい。
【方法1:】
データを追加・変更をする時点で、変更前のカテゴリの個数から-1、変更後のカテゴリの個数に+1をしてUPDATEで変更する
【方法2:】
定期的にcronでカウントするプログラムを走らせる
⇒ただこの方法だと実際の件数とCronが走るまでの間に個数に差が発生してしまう問題がでてしまう。
【方法3:】
ページを読み込む際に、count(*)で数える
【方法1】で作っていましたあ2つのカテゴリにまたがる場合(東京都、神奈川県両方)もあり、このとき【方法1】での処理が難しく質問をさせて頂きました。
上記以外にも何か良いカテゴリ件数の表示方法がありましたらアドバイス頂けますと幸いです。
No.2ベストアンサー
- 回答日時:
> 都道府県47つの場合、各都道府県ごとにcountする形になりますでしょうか?
GROUP BY 句を使えば一度の実行で、データが存在する全ての都道府県のカウントが取得できますよ。
例)
SELECT no, COUNT(*) FROM Table GROUP BY no ORDER BY no;
http://www.atmarkit.co.jp/ait/articles/0012/22/n …
http://dev.mysql.com/doc/refman/5.1/ja/group-by- …
なお、パフォーマンスの問題は本番もしくはそれに順ずる環境で実際に測定してみないとハッキリしたことは分からないかと。
No.1
- 回答日時:
1件当りのデータ量やマシンスペックなどにもよりますが、1万件程度でしたら、方法3の毎回count(*)で値を取る方法で十分だと思いますよ。
都道府県のコード?が格納されているカラムにインデックスが貼ってあれば、余程の低スペックなマシンで無い限り、問題ないスピードで動くでしょう。
早速のご回答ありがとうございます。
さくらVPSを使っており処理的には問題なさそうです。
新たな質問となってしまいますが、都道府県47つの場合、各都道府県ごとにcountする形になりますでしょうか?
例)
Select count(*) from Table where no=1
(no=1~47までforで回す)
となるとページ読み込み毎にSQLがあ47回実行されてしまいますがパフォーマンスにさほど問題はないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel2016 行間を詰めたい&同じカテゴリなら上位2つだけを表示したい 5 2022/06/03 12:19
- WordPress(ワードプレス) ワードプレスで、投稿一覧ページにタグを表示する方法 投稿につけたタグを、記事一覧ページにもカテゴリと 1 2023/05/10 21:41
- PostgreSQL 数値が定期的にあらわれる文字列から、いくつめに出現した数値が指定して切り出したい 1 2023/06/08 13:12
- Excel(エクセル) エクセルの数式で教えてください。 1 2022/10/25 09:26
- Excel(エクセル) ピボットテーブルの表示変更の仕方 初心者なので、的外れな質問だったらすみません 受注日ごとに商品名と 1 2022/04/26 23:23
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- その他(Microsoft Office) Microsoft Edgeの「関心のあるカテゴリ」を表示させるには。 1 2023/03/16 18:05
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 1 2022/10/27 14:21
- Excel(エクセル) Excelでの複数条件のカウントについて 1 2022/09/25 07:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#1062 - '0' は索引 'PRIMARY' ...
-
テーブル名が可変の場合のクエ...
-
うまくいきません教えてくださ...
-
MySQL NULLだけをカウントして...
-
SQLです下記の問合せを行うクエ...
-
Xサーバーのバックアップで全サ...
-
php テーブルを作れない
-
SQLです教えてくださいお願いし...
-
SQLです。下記の問合せを行うク...
-
データベースの複製の仕方(mysql)
-
LIMIT で条件を満たしているの...
-
アプリケーションのデータベー...
-
SQLです教えてくださいお願いし...
-
SQLです。こんな感じですか?あ...
-
[XAMPP Control Panel v3.2.4] ...
-
データベースの検索で、この場...
-
MAMPで80ポートが使用されている...
-
下記の問合せを行うクエリを、 ...
-
下記の問合せを行うクエリを、 ...
-
下記の問合せを行うクエリを、P...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
db2でisnumericは使えないので...
-
日本語のテーブル名、カラム名...
-
Accessから主キーの無いOracle...
-
検索時にヒットしない
-
ACCESS2000:主キーに半角と全...
-
「正規形」のよみかた
-
ORACLEでダミー行を作成したい
-
DB設計に要する見積もりについて
-
VB、SQLについて
-
Excel 2019 のピボットテーブル...
-
「直需」の意味を教えてください
-
エクセルVBAで5行目からオート...
-
Accessでテーブル名やクエリ名...
-
Accessでテーブルの値をテキス...
-
Oracle 2つのDate型の値の差を...
-
セルの右クリックで出る項目を...
-
Access テキスト型に対する指定...
-
作番ってどういう意味でしょうか?
-
Accessでコードを入れると名前...
-
Accessのフィールド数が255しか...
おすすめ情報