2014-01-23 48 views
0

Group By First Query in MySql額外QRY PARAMS不工作

所以我問上面的,並得到了很大的反響

但我怎麼在homematchingid !=0awaymatchingid !=0補充的嗎?

我試了下面,但都沒有工作。

SELECT MIN(`Date`) AS `Date`, MIN(`Time`) AS `Time`, 
    `HomeMatchingId`,`AwayMatchingId`,`RunningStatus` 
FROM `20121208` 
where `HomeMatchingId`!= 0,`AwayMatchingId`!= 0 
GROUP BY `HomeMatchingId`,`AwayMatchingId`,`RunningStatus` 
HAVING `RunningStatus`= 1 

SELECT MIN(`Date`) AS `Date`,MIN(`Time`) AS `Time`, 
    `HomeMatchingId`,`AwayMatchingId`,`RunningStatus` 
FROM `20121208` 
GROUP BY `HomeMatchingId`,`AwayMatchingId`,`RunningStatus` 
HAVING `RunningStatus`=1,`HomeMatchingId`!=0,`AwayMatchingId`!=0); 
+1

你有沒有嘗試使用**和**,而不是逗號 'SELECT MIN('Date')AS'Date',MIN('Time')AS'Time', 'HomeMatchingId' 'AwayMatchingId','RunningStatus' FROM'20121208' 其中'HomeMatchingId'!= 0和'AwayMatchingId'!= 0 GROUP BY'HomeMatchingId','AwayMatchingId','RunningStatus' HAVING'RunningStatus' = 1' –

回答

1

你需要像AND或OR邏輯運算符來替代逗號where子句。

SELECT MIN(`Date`) AS `Date`, MIN(`Time`) AS `Time`, 
`HomeMatchingId`,`AwayMatchingId`,`RunningStatus` 
FROM `20121208` 
where `HomeMatchingId`!= 0 AND `AwayMatchingId`!= 0 
GROUP BY `HomeMatchingId`,`AwayMatchingId`,`RunningStatus` 
HAVING `RunningStatus`= 1 
+0

謝謝你 – John

0

嘗試>的<,而不是!=

SELECT MIN(`Date`) AS `Date`, MIN(`Time`) AS `Time`, 
    `HomeMatchingId`,`AwayMatchingId`,`RunningStatus` 
FROM `20121208` 
where `HomeMatchingId`<> 0 AND `AwayMatchingId`<> 0 
GROUP BY `HomeMatchingId`,`AwayMatchingId`,`RunningStatus` 
HAVING `RunningStatus`= 1 

SELECT MIN(`Date`) AS `Date`,MIN(`Time`) AS `Time`, 
    `HomeMatchingId`,`AwayMatchingId`,`RunningStatus` 
FROM `20121208` 
GROUP BY `HomeMatchingId`,`AwayMatchingId`,`RunningStatus` 
HAVING `RunningStatus`=1 AND `HomeMatchingId`<>0 AND `AwayMatchingId`<>0; 
+0

已經嘗試了<> 0和!= 0的兩個版本,但都不能正常工作 – John

+0

CREATE TABLE'kickofftimes'( \t'Date' INT(11)NULL, \t'Time' TIME NULL, \t'HomeMatchingId' INT(11)NULL DEFAULT NULL, \t'AwayMatchingId' INT(11)NULL, \t'RunningStatus' INT(11 )NULL DEFAULT NULL ) COLLATE ='latin1_swedish_ci' ENGINE = InnoDB; – John

+1

您需要將where子句中的逗號更改爲AND,請檢查我的答案 – miltos

0

試試這個

SELECT MIN(`Date`) AS `Date`, MIN(`Time`) AS `Time`, 
    `HomeMatchingId`,`AwayMatchingId`,`RunningStatus` 
FROM `20121208` 
WHERE `HomeMatchingId`<>0 AND `AwayMatchingId`<>0 
GROUP BY `HomeMatchingId`,`AwayMatchingId`,`RunningStatus` 
HAVING `RunningStatus`=1 

SELECT MIN(`Date`) AS `Date`,MIN(`Time`) AS `Time`, 
    `HomeMatchingId`,`AwayMatchingId`,`RunningStatus` 
FROM `20121208` 
GROUP BY `HomeMatchingId`,`AwayMatchingId`,`RunningStatus` 
HAVING `RunningStatus`=1 AND `HomeMatchingId`<>0 AND `AwayMatchingId`<>0;