我有直接放置像這樣這兩個表....信息
表1
+------+----------+-----+--------+
| Year | Runner | Age | Result |
+------+----------+-----+--------+
| 2004 | Runner 1 | 3 | Won |
| 2004 | Runner 2 | 4 | Lost |
| 2004 | Runner 3 | 3 | Lost |
| 2005 | Runner 1 | 3 | Lost |
| 2005 | Runner 2 | 3 | Lost |
| 2005 | Runner 3 | 4 | Won |
| 2006 | Runner 1 | 4 | Won |
| 2006 | Runner 2 | 3 | Lost |
| 2006 | Runner 3 | 4 | Lost |
+------+----------+-----+--------+
表2
+-------+----------+-----+
| RCNum | Runner | Age |
+-------+----------+-----+
| 1 | Runner 1 | 3 |
| 2 | Runner 2 | 4 |
| 3 | Runner 3 | 3 |
| 4 | Runner 4 | 3 |
| 5 | Runner 5 | 3 |
+-------+----------+-----+
現在我將使用...
$numbers = mysql_query("SELECT age,
sum(case when result <> ''then 1 else 0 end) Sec1Picks,
sum(case when result = 'Won' then 1 else 0 end) Sec1Wins
FROM table1
GROUP BY age
ORDER BY age ASC");
while($row = mysql_fetch_array($numbers, MYSQL_ASSOC)) {
echo "(".$row['Age']."yo) ".$row['Sec1Wins']."-".$row['Sec1Picks']; }
這會給我年齡,然後選擇和獲勝者的數量,但我想要做的是在這之後,我想包括那些在這個因素下的RCNum。
因此,例如,將輕鬆的心情輸出..
(輕鬆的心情)1-5(1 3 4 5)
(4yo)2-4(2)
我的技能是基本所以我不知道如何去實現這一點,所以任何幫助將不勝感激!謝謝你提前!
編輯
我目前使用的...的建議如下
SELECT t1.age
, SUM(CASE WHEN t1.result <> '' THEN 1 ELSE 0 END) Sec1Picks
, SUM(CASE WHEN t1.result = 'Won' THEN 1 ELSE 0 END) Sec1Wins
, GROUP_CONCAT(DISTINCT t2.rcnum ORDER BY rcnum SEPARATOR ' ') rcnums
FROM table2 t2
RIGHT
JOIN table1 t1
ON t1.age= t2.age
GROUP
BY t1.age;
這給了我這個...
+-----------+-----------+----------+---------------------------+
| age | Sec1Picks | Sec1Wins | rcnums |
+-----------+-----------+----------+---------------------------+
| 3 | 420 | 14 | 8 9 13 21 22 25 27 |
| 4 | 352 | 24 | 6 7 11 16 17 19 20 29 |
| 5 | 470 | 10 | 1 2 3 5 10 15 18 23 24 26 |
| 6 | 64 | 6 | 12 14 |
| 7 | 25 | 1 | 4 |
| 8 | 7 | 0 | NULL |
| 9 | 2 | 0 | 28 30 |
+-----------+-----------+----------+---------------------------+
但正在發生的事情是每個號碼插入到rcnums列中,它將再次在Picks/Wins列中添加統計信息!
在Picks/Wins列中,我只想在Table1中計數,所以3yo將是60和2而不是420和14.我將如何更改編碼以實現此目的?
我很抱歉,但這些表在不同的數據庫?標題是這樣說的,但在你的問題中沒有明確說明。對於不同的數據庫,我假設不同的數據庫實例 – Leo 2014-08-27 16:01:28
@Leo我認爲OP的意思是'表' – Strawberry 2014-08-27 16:30:52
是的,抱歉,我的意思是,兩個表合爲一體。 – user3581707 2014-08-28 21:36:21