0

DB テーブル

TYPE       DATE         PLAYER   MINUTE
---------------------------------------
starter    2000-01-01   Tom      
starter    2005-01-01   Tom      
starter    2005-01-01   Ben 
starter    2010-01-01   Tom
subbedin   2012-01-01   Ben      46

クエリ

$query = mysql_query("SELECT *,
SUM(CASE WHEN type = 'starter' OR type = 'subbedin' THEN 1 ELSE 0 END) AS apps,
SUM(CASE WHEN Tüüp = 'starter' THEN 90 ELSE 0 end + CASE WHEN Tüüp = 'subbedin' THEN 91 - minutes ELSE 0 end) AS minutes
FROM players
GROUP BY player
ORDER BY apps DESC minutes DESC
");

結果を出場時間と出場時間とともに選手ごとにグループ化しましたが、最初と最後の出場の日付を表示するのに苦労しています。

PLAYER   APPS   MINUTES   FIRST        LAST
-------------------------------------------------
Tom      3      270       2000-01-01   2010-01-01
Ben      2      135       2005-01-01   2012-01-01
4

1 に答える 1

0

これを試して ....

SELECT
    SUM(CASE WHEN type = 'starter' OR type = 'subbedin' THEN 1 ELSE 0 END) AS apps,
    SUM(CASE WHEN type = 'starter' THEN 90 ELSE 0 end + CASE WHEN type = 'subbedin' THEN 91 - minutes ELSE 0 end) AS `minutes`,
    MIN(`DATE`) as `FIRST`,
    MAX(`DATE`) as `LAST`
    FROM players
    GROUP BY player;
于 2012-06-08T11:08:19.877 に答える