0
select player.ActionTime from question_log log inner join player_question player 
where log.ActionType='96'

select player.ActionTime from question_log log inner join player_question player 
where log.ActionType='97'

それをmysql構文で実現するにはどうすればよいですか? ActionType が 96 マイナス 97 の Actiontime を選択します。算術マイナス。

4

2 に答える 2

3
SELECT t96.ActionTime - t97.ActionTime
FROM
(
    select player.ActionTime 
    from question_log log 
    inner join player_question player 
    where log.ActionType='96'
) t96
CROSS JOIN
(
    select player.ActionTime 
    from question_log log 
    inner join player_question player 
    where log.ActionType='97'
) t97

あなたの2つのクエリの間には何も関連していないように見えるので、CROSS JOIN(デカルト積)しか提案できないことに注意してください。log.ActionType = '96' または log.ActionType = '97' の行が複数ある場合、多くの結果行が表示されます。

于 2013-01-25T08:25:05.527 に答える
0

サブクエリを使用:

SELECT player.ActionTime - (SELECT player.ActionTime from question_log log inner join     player_question player where log.ActionType='97' LIMIT 1)
from question_log log inner join player_question player where log.ActionType='96'
于 2013-01-25T08:26:27.293 に答える