0

このクエリを試すと:

mysql_query("SELECT COUNT(id) AS `unique`, impressions 
             FROM statistic 
             WHERE FROM_UNIXTIME(time_add, '%d.%m.%Y') = '" . date('d.m.Y', time()) . "'") or die(mysql_error());

次のエラー メッセージが表示されます。

GROUP BY 句がない場合、GROUP 列を使用せずに GROUP 列 (MIN()、MAX()、COUNT()、...) を混在させることはできません。

このエラーが何であるかわかりません。誰かがここで私を助けることができると思います:)。

4

3 に答える 3

1

WHEREこの行を句の後に追加します

mysql_query("SELECT COUNT(id) AS `unique`, impressions 
             FROM statistic 
             WHERE FROM_UNIXTIME(time_add, '%d.%m.%Y') = '" . date('d.m.Y', time()) . "'
             GROUP BY impressions") or die(mysql_error());
于 2012-08-06T23:43:37.553 に答える
1

count はグループ関数であり、group 句で言及されていない限り、count で別の列を選択することはできません。

  mysql_query("SELECT COUNT(id) AS `unique`, impressions FROM 
statistic WHERE FROM_UNIXTIME(time_add, '%d.%m.%Y') = '" . date('d.m.Y', time()) . "' 
GROUP BY impressions")
于 2012-08-06T23:43:41.590 に答える
1

集計関数で列を使用している場合、次のように句COUNT, MIN, MAX, AVGでその列に言及する必要があります。GROUP BY

mysql_query("SELECT COUNT(id) AS `unique`, impressions FROM statistic WHERE FROM_UNIXTIME(time_add, '%d.%m.%Y') = '" . date('d.m.Y', time()) . "' GROUP BY id") or die(mysql_error());

PS mysql_* 関数は非推奨です。PDO または MySQLi 関数を使用して、SQL インジェクションやその他の SQL 違反を回避する方が安全です。

于 2012-08-06T23:43:57.533 に答える