Php SQL:我如何找到重复值直到分离
我想对SQL做的是在列中查找重复的值,直到有一个按日期排序的值 这是我的桌子。我对日期列使用当前的时间戳Php SQL:我如何找到重复值直到分离,php,mysql,sql,database,select,Php,Mysql,Sql,Database,Select,我想对SQL做的是在列中查找重复的值,直到有一个按日期排序的值 这是我的桌子。我对日期列使用当前的时间戳 Name |date ------------------- Bart |12-12-2014 Bart |23-12-2014 Joost |24-12-2014 Bart |25-12-2014 Bart |26-12-2014 Bart |27-12-2014 在这个例子中,我希望返回数字3和name的最后一个已知值,在这个例子中是B
Name |date
-------------------
Bart |12-12-2014
Bart |23-12-2014
Joost |24-12-2014
Bart |25-12-2014
Bart |26-12-2014
Bart |27-12-2014
在这个例子中,我希望返回数字3和name的最后一个已知值,在这个例子中是Bart
我希望我说清楚了,很抱歉标题不清楚 嗯。以下是一种将逻辑置于where子句中的方法:
嗯。以下是一种将逻辑置于where子句中的方法:
您可以使用以下查询: 选择名称,将*计为cnt 从…起 选择名称、[日期], [日期]前订单上的行号- 按名称按[date]排序的分区上的行数,如grp 从mytable作为t 按名称分组 按计数订购*DESC 此查询尝试标识记录孤岛,即具有相同名称的连续行:grp computed字段正是这样做的 如果希望名称具有最大数量的连续记录,只需在上述查询中使用TOP 1
您可以使用以下查询: 选择名称,将*计为cnt 从…起 选择名称、[日期], [日期]前订单上的行号- 按名称按[date]排序的分区上的行数,如grp 从mytable作为t 按名称分组 按计数订购*DESC 此查询尝试标识记录孤岛,即具有相同名称的连续行:grp computed字段正是这样做的 如果希望名称具有最大数量的连续记录,只需在上述查询中使用TOP 1
我想不出什么可以尝试的。我之所以选择姓氏是因为这是我唯一需要的,现在我需要知道它在分离前发生了多少次。所以我有这样的代码:选择名称,时间从名称顺序由数据描述限制1;那么现在是什么时候了?我想不出什么可以尝试的。我之所以选择姓氏是因为这是我唯一需要的,现在我需要知道它在分离前发生了多少次。所以我有这样的代码:选择名称,时间从名称顺序由数据描述限制1;现在几点了?我需要两张桌子吗?还是我读错了。。。我对SQL不太在行,请原谅我的误解:@GordonLinoff@Joost . . . 这只使用一个表,引用了两次。我需要两个表吗?还是我读错了。。。我对SQL不太在行,请原谅我的误解:@GordonLinoff@Joost . . . 这只使用一个表,引用两次。
select count(*), max(lastname.name)
from tablename t cross join
(select t2.name from tablename t2 order by date desc limit 1) as lastname
where t.name = lastname.name and
t.date > (select max(t2.date) from tablename t2 where t2.name <> lastname.name);