JOINとMAX/MINを使用したクエリに問題があります。例:max()を使ったmysqlテーブルの結合
SELECT Min(a.date), Max(a.date)
FROM a
INNER JOIN b ON b.ID = a.ID AND b.cID = 5
このクエリ結果を追加するか、このクエリ結果を変更することは可能ですか?申し訳ありません
+----+-------------+----------+------+-----------------+-----+---------+-----------+--------+-----------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+----------+------+-----------------+-----+---------+-----------+--------+-----------------------+
| 1 | SIMPLE | b | ref | PRIMARY,cID | cID | 5 | const | 680648 | Using index |
| 1 | SIMPLE | a | ref | ID | ID | 5 | base.b.ID | 1 | Using index condition |
+----+-------------+----------+------+-----------------+-----+---------+-----------+--------+-----------------------+
を説明するが、私はここに、表全体を入れていないだろう、と多くの混乱を作ることができた結果の下 。
CREATE TABLE `a` (
`ID` int(11) NOT NULL,
`date` datetime DEFAULT,
PRIMARY KEY (`ID`),
KEY `date` (`date`),
)
CREATE TABLE `b` (
`bID` int(11) NOT NULL,
`ID` int(11) NOT NULL,
`cID` int(11) DEFAULT,
PRIMARY KEY (`bID`),
KEY `cID` (`cID`),
)
「結果はより良い」と説明してください。より多くのフィールドをもっと早く得ることを意味しますか? – McNets
関連するすべてのテーブルについてもSHOW CREATE TABLEステートメントを提供します – Strawberry
はい、実行時間のクエリを意味します。インデックスを使用してMAXとMINの結果を単一のクエリで高速化する方法を知っていますが、JOINを使用したバージョンのソリューションを探しています。 – SilverRAT