あなたがWEEKのstart_timeでグループ化している場合は、(日付そのものではなく)選択する必要があるものがそれです。それ以外の場合は、どのようにカウントを報告しますか?各日付ではなく、毎週のカウントを表示するとします。
また、where句にセマンティックエラーがあります。括弧を使用して、ANDおよびORの優先順位を明示的に設定する必要があります。
SELECT WEEK(start_time) AS Week, COUNT(1) AS Count
FROM offline_execution_jobs
WHERE start_time >= NOW() - INTERVAL 365 DAY
AND (application_name LIKE 'SPLAT-ROLLING'
OR application_name LIKE 'SPLAT')
GROUP BY WEEK(start_time)
ORDER BY WEEK(start_time) ASC ;
このクエリ:
1 21
2 50
3 15
しかし、私はこのようなものが必要です:
2011-01-04 08:05:24 21
2011-01-09 03:28:54 8
2011-01-16 06:08:18 11
2011-01-23 06:06:50 32
そしてMySqlYogからこのクエリを実行する
SELECT WEEK(start_time) AS Week, COUNT(1) AS Count
FROM offline_execution_jobs
WHERE start_time >= NOW() - INTERVAL 365 DAY
AND (application_name LIKE 'SPLAT-ROLLING'
OR application_name LIKE 'SPLAT')
GROUP BY WEEK(start_time)
ORDER BY WEEK(start_time) ASC ;
は、次の結果を返します。 (MySQLのWindowsクライアント)、私は私はPHPコードからこのクエリを実行していたときに望ましい結果を得て、問題が発生します。
SELECT start_time AS WEEK, COUNT(1) AS COUNT
FROM offline_execution_jobs
WHERE start_time >= NOW() - INTERVAL 365 DAY
AND (application_name LIKE 'SPLAT-ROLLING'
OR application_name LIKE 'SPLAT')
GROUP BY WEEK(start_time)
ORDER BY WEEK(start_time) ASC ;
は、ここで私はPHPから取得していますエラーです:
Invalid query: 'nolio_db.offline_execution_jobs.start_time' isn't in GROUP BY
Whole query: SELECT start_time AS Date, COUNT(1) AS Count FROM offline_execution_jobs WHERE start_time >= NOW() - INTERVAL 250 DAY AND (application_name LIKE 'SPLAT-ROLLING' OR application_name LIKE 'SPLAT') GROUP BY WEEK(start_time) ORDER BY WEEK(start_time) ASC ;
そしてこれは、それはint型をどのように見えるかであります彼はコード:
$query = "SELECT start_time AS Date, COUNT(1) AS Count
FROM offline_execution_jobs
WHERE start_time >= NOW() - INTERVAL 250 DAY
AND (application_name LIKE 'SPLAT-ROLLING' OR application_name LIKE 'SPLAT')
GROUP BY WEEK(start_time)
ORDER BY WEEK(start_time) ASC ;";
//echo "<br><br>$query<br><br>";
// Create connection to DB
$conn = mysql_connect($db_host, $db_user, $dp_pass);
if (!$conn)
{
echo "<br/>Can't connect: $db_host";
die('Could not connect: ' . mysql_error());
}
なぜ時間部分が含まはありますか?あなたが週の最初の曜日の日付を表示したい場合は、単に日付ではないでしょうか? –