0
自從兩天以來,我一直困擾着一個問題,我需要幫助。按順序檢索值,並使用mySQL減去行數
我想對SQL表中的連續行進行減法,但通過對值進行排序。
比如我有我的表像這樣:
Name | Activity | Day
John | Tennis | Day10
Bob | Swimming | Day9
Mathilda | Tennis | Day2
John | Swimming | Day2
Bob | Tennis | Day2
John | Computer Science | Day 10
在這個表,我想知道誰得到一個以上的活動是什麼兩項活動之間的時間的人。
因此,在這個例子中,如果我們可以減少天數,我們會看到約翰和鮑勃有兩個活動,約翰用8天時間來達到他們的最大休息時間。
我試圖做到這一點,像這樣:
SET @previousDay:=0;
SELECT Name, days, @previousDay - day, @previousDay:=day
FROM table
WHERE Name IN (SELECT Name FROM table group by Name having count(Name) > 1)
ORDER BY Name, Day
但隨着ORDER BY是減法後做是完全錯誤的。我沒有看到好的結果,因爲我想對排序的天數進行連續的減法運算。
看來我不能對IN結果進行排序,所以你知道是否有辦法解決我的問題嗎?
非常感謝您的幫助!
順便說一句:我不知道如何正確格式表,所以任何幫助,將不勝感激,非常感謝!
非常感謝您的幫助和評論,這真的很有幫助。 Unfornately我只得到空值,因爲我的桌上的@n <>名稱條件,我不知道爲什麼。 我試圖在選擇查詢中將值名分配給@n,但它不會改變任何內容。 我將盡力解決這個問題。 非常感謝您的回答我通過查看您的代碼瞭解了很多。 – Mike
@Mike。 。 。我留下了一些東西。 –