-1

毎年の各月のその月に対応するフィールドを取得するクエリを作成する必要があります

このようなもの:

                      フィールド1フィールド2

       count_of_fields_that_corresponds_this_month、same_fields_but_with_value_true
       -------------------------------------------- | ----- ---------------------------
1月|
       -------------------------------------------- | ----- --------------------------
2月|
       -------------------------------------------- | ----- ---------------------------
3月|
       -------------------------------------------- | ----- ---------------------------
4月|
       -------------------------------------------- | ----- ---------------------------
など...|

この例では、テーブルに入力する必要のある2つのフィールドがありますが、実際にはさらに多くのフィールドがありますが、1つのクエリで毎月そのフィールドを取得する方法がわからないため、同じことを試みました。しかし、多くのクエリがあり、それは悪い習慣だと思うので、これを行う方法を教えてもらえますか?または、mysqlで使用する必要のある関数は何ですか?

毎月field1、field2、field3などを取りたいのですが、可能であれば毎年もよろしくお願いします。

$this->db->query("SELECT count(*) AS count FROM `simple` WHERE `ochistka` = 'somevalue' AND MONTH(`date`) = 01");
$this->db->query("SELECT count(*) AS count FROM `simple` WHERE `ochistka` = 'somevalue' AND MONTH(`date`) = 01 AND `prime4anie` = 'somevalue'");

したがって、このクエリではそのフィールドを取得していますが、1か月間だけ、それを改善して1回のショット(クエリ)で毎月クエリを実行するにはどうすればよいですか?

4

2 に答える 2

4
SELECT YEAR(datefield), MONTH(datefield), COUNT(field1), COUNT(field2)
FROM table
GROUP BY YEAR(datefield), MONTH(datefield)

独自のフィールド名とテーブル名を入力してください

于 2012-05-23T21:22:10.467 に答える
0

クエリの月の部分を削除すると、結果の配列が得られます。次に、呼び出しでグループを追加して、それらを並べ替えることができます。

SELECT count(*) AS count FROM `simple` WHERE `ochistka` = 'somevalue' GROUP BY MONTH
于 2012-05-23T21:26:34.660 に答える