SQLを扱う場合、よく使われるのが「GROUP BY」です。GROUP BYは、指定したカラムでデータをグループ化して表示するためのものです。
例えば、以下のような投稿データがあったとします。
id | title | category |
---|---|---|
1 | WordPressの使い方 | WordPress |
2 | PHPの基礎 | PHP |
3 | MySQLの使い方 | MySQL |
4 | WordPressの使い方 | WordPress |
5 | Laravelの基礎 | Laravel |
このデータを、categoryごとにグループ化して表示するには、以下のようなSQLを書きます。
SELECT category, COUNT(id) as count FROM wp_posts GROUP BY category;
このSQLを実行すると、以下のような結果が得られます。
category | count |
---|---|
WordPress | 2 |
PHP | 1 |
MySQL | 1 |
Laravel | 1 |
このように、同じカテゴリーの投稿をグループ化して、その数を計算することができます。また、GROUP BYにはさまざまな関数を組み合わせることができるため、より高度な集計を行うこともできます。
WordPressでは、データベースにアクセスするための関数が用意されており、これらを利用することで簡単にSQLを実行することができます。以下は、上記のSQLをWordPressで実行する例です。
wordpressのSql実行例
global $wpdb;
$result = $wpdb->get_results("
SELECT category, COUNT(id) as count
FROM {$wpdb->prefix}posts
GROUP BY category
");
foreach ($result as $row) {
echo "{$row->category}: {$row->count} posts<br>";
}
このように、WordPressではSQLを簡単に扱うことができます。GROUP BYを使って、データの集計や分析を行う際には、ぜひWordPressの関数を活用してみてください。
