私はこのMySQLクエリをここに持っています。ただし、もう 1 つ必要なことがあります。現在、最高のパーセンテージを返しています。最高のパーセンテージは、特定の日付に特定のレコード タイプがデータベースで生成された回数に基づいています。私がやりたいことは、この高いパーセンテージを持つ関連レコードの名前も返すことです。以下のクエリに組み込んでみましたが、常に失敗しているようです。これに関するアドバイスは素晴らしいでしょう。
SELECT *, COALESCE((acknowledged / generated), 0) AS result
FROM (
SELECT (
SELECT COUNT(*)
FROM logs
INNER JOIN generated_logs
ON generated_logs.log_fk = logs.log_pk
WHERE logs.department_fk = ?
AND DATE(generated_logs.generated_time) = ?
) AS generated, (
SELECT COUNT(generated_logs.log_fk) AS magnitude
FROM logs
INNER JOIN generated_logs
ON generated_logs.log_fk = logs.log_pk
WHERE logs.department_fk = ?
AND generated_logs.acknowledged = 1
AND DATE(generated_logs.generated_time) = ?
GROUP BY generated_logs.log_fk
ORDER BY magnitude DESC
LIMIT 1
) AS acknowledged ) AS result
現在の出力は次のとおりです。
+-----------+--------------+--------+
| Generated | Acknowledged | Result |
+-----------+--------------+--------+
| 6 | 3 | 0.50 |
+-----------+--------------+--------+
私が必要とするのは:
+-----------+--------------+--------+----------+
| Generated | Acknowledged | Result | Name |
+-----------+--------------+--------+----------+
| 6 | 3 | 0.50 | Test Log |
+-----------+--------------+--------+----------+
名前は、ログテーブルのフィールドです。