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。 。 。我留下了一些东西。 –