我需要能够为每个具有最大值的名称选择第一行.
我有一张表格如下:
id name value
0 JOHN 123
1 STEVE 125
2 JOHN 127
3 JOHN 126
Run Code Online (Sandbox Code Playgroud)
所以我期待回归:
id name value
1 STEVE 125
2 JOHN 127
Run Code Online (Sandbox Code Playgroud)
关于如何执行此操作的MSSQL语法的任何想法?
由于某种原因,以下DISTINCT不起作用.我期待电子邮件专栏只有一个b@gmail.com,但我得到两个相同的.
1> SELECT DISTINCT t.Email,t.Lat_From,t.Lon_From
FROM tbl_Trip t,tbl_User u
WHERE t.Email like u.Email AND u.Member_Of like 'yahoo'
2> go
Email Lat_From Lon_From
------------- ------------------- -----------------------
b@gmail.com 41.773289200000001 -71.378798500000002
b@gmail.com 41.908398699999999 -71.436531000000002
Run Code Online (Sandbox Code Playgroud)
(2行受影响)
我有2张桌子.student
和student_records
.
学生表有S_id并且在student_records中有外键.
加入这些表时,我需要1个学生ID和来自student_records表的前5个记录,用于该学生ID.
__PRE__
1
来自学生表,'abc','dedw'
等等来自学生表中student_records
还有一个活动字段.如果Active = 1,则显示来自student_records的前5条记录,如果Active = 0,则只有1行的studentid 我试图在mysql表中针对ticket_id选择重复条目的最新条目,我的当前是这样的.
SELECT * ,
COUNT(*) AS cnt ,
ticket_id
FROM temp_tickets
GROUP BY ticket_id
ORDER BY id DESC
Run Code Online (Sandbox Code Playgroud)
它给出了一行重复的次数,但我能够选择那些多行的最新行
假设我有3个ticket_id,它被重复了5次,所以现在我想从所有这3个id中选择最新的事件.
Lemme知道我是否必须更具体.
谢谢
鉴于此数据集:
ID Name City Birthyear
1 Egon Spengler New York 1957
2 Mac Taylor New York 1955
3 Sarah Connor New York 1959
4 Jean-Luc Picard La Barre 2305
5 Ellen Ripley Nostromo 2092
6 James T. Kirk Nostromo 2233
7 Henry Jones La Barre 1899
Run Code Online (Sandbox Code Playgroud)
我怎样才能从每个城市只获得2条记录?
我有两张桌子:
users:
user_id user_name
data:
user_id user_data user_time
Run Code Online (Sandbox Code Playgroud)
我想从数据表中选择最新的条目,但返回user_name, user_id, user_data
和user_time
.
我尝试了以下查询,但它返回第一个条目,而不是每个用户的最后一个条目:
sql = "SELECT users.user_name, users.user_id, data.user_data, data.user_time
FROM users
INNER JOIN data ON data.user_id = users.user_id
GROUP BY users.user_name
ORDER BY data.user_time DESC";
Run Code Online (Sandbox Code Playgroud) 我的数据库中有2个表:
log_visitors:
--------------------
id | host_id
log_access:
--------------------
visitor | document | timestamp
Run Code Online (Sandbox Code Playgroud)
log_access.visitor
链接到 log_visitors.id
目前,我正在使用此查询:
SELECT
log_visitors.host_id
, MIM(log_access.timestamp) AS min_timestamp
FROM
log_access
INNER JOIN log_visitors
ON (log_access.visitor = log_visitors.id)
GROUP BY log_visitors.host_id;
Run Code Online (Sandbox Code Playgroud)
获取数据库中的MIN(timestamp)
每个host_id
.
这是我的问题:
我还需要document
使用该时间戳来获取该访问权限...我不能简单地添加log_access.document
到SELECT列表中,因为它不是常量而我不按文档分组...任何想法?
在这张表中我有四列
id state_id state add_time
1 10 1 1385461144
2 12 3 1385461144
3 14 2 1385461144
4 12 5 1385461264
5 10 2 1385461264
Run Code Online (Sandbox Code Playgroud)
我想通过最后一个字段获取最新记录(add_time)
结果必须是这样的
id state_id state add_time
3 14 2 1385461144
4 12 5 1385461264
5 10 2 1385461264
Run Code Online (Sandbox Code Playgroud)
我发现这个问题获取最新时间戳mysql的记录 ,它使用两个选择查询(子查询).但我不想使用子查询.
有没有其他方法来获取最新记录?
我有一个包含多个数据库的数据库url
和一个created_at
与这些数据库相关联的date()url
.
我希望有类似的东西:
Select DISTINCT url, "the first date of this url"
from database
where blabala
Run Code Online (Sandbox Code Playgroud)
我的问题是当一个日期添加到选择我得到这个:
/url/sdfsd | 2014-07-19
/url/sdfsd | 2014-07-20
/url/sdfsd | 2014-07-25
Run Code Online (Sandbox Code Playgroud)
而我想要的只是:
/url/sdfsd | 2014-07-19
Run Code Online (Sandbox Code Playgroud)
我意识到我过度简化了我的问题,但多亏了你们,我设法找到了解决方案
select req2.date, COUNT(DATE(req2.date)) as count
from (
select hash_request -> 'PATH_INFO', min(DATE(created_at)) as date
from (
select *
from request_statistics
where LOWER(hash_request -> 'HTTP_USER_AGENT') LIKE '%google%'
) req1
group by hash_request -> 'PATH_INFO'
) req2
group by req2.date
order by req2.date asc
Run Code Online (Sandbox Code Playgroud)
我很难将所有独特网址上的日期分组.现在我有,每天所有独特网址的唯一网址数量
如何在列表排序时跳过重复记录,例如,
我有表:
EmpID Date Dept OtherField
1 2017.02.03 11 1
1 2016.02.03 11 2
1 2015.02.03 13 7
1 2014.02.03 21 6
1 2013.02.03 21 12
1 2012.02.03 13 333
Run Code Online (Sandbox Code Playgroud)
我需要得到:
1 2016.02.03 11
1 2015.02.03 13
1 2013.02.03 21
1 2012.02.03 13
Run Code Online (Sandbox Code Playgroud) sql ×6
mysql ×5
sql-server ×3
group-by ×2
t-sql ×2
duplicates ×1
oracle ×1
postgresql ×1
select ×1
timestamp ×1