苦恼的问题,找出id不相同的前3条记录

ganh 2004-12-02 07:30:17
表结构如下,
T_id user_id phone
1 A C
2 B F
3 A B
4 A B
5 A F
6 A F

现在我想找出user_id 为A 的用户 在 phone 子段中的三个不同的值,而且t_id 最大的三条记录。
结果应该是t_id 为 6,4,1
...全文
122 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ganh 2004-12-03
  • 打赏
  • 举报
回复
接受 skyinfo(MFC) 的答案。
fycooer 2004-12-02
  • 打赏
  • 举报
回复
create table mm(T_id int, us_Id varchar(10), phone varchar(10))
insert mm select 1,'A','C'
union all select 2,'B','F'
union all select 3,'A','B'
union all select 4,'A','B'
union all select 5,'A','F'
union all select 6,'A','F'

SELECT MAX(T_id) AS Expr1
FROM mm
WHERE (us_Id = 'a')
GROUP BY phone
Ncaidexiaoniao 2004-12-02
  • 打赏
  • 举报
回复
create table mm (T_id int,user_id varchar(10),phone varchar(10))
insert mm select 1,'A','C'
UNION ALL SELECT 2,'B','F'
UNION ALL SELECT 3,'A','B'
UNION ALL SELECT 4,'A','B'
union all select 5,'A','F'
UNION ALL SELECT 6,'A','F'
SELECT max(T_id) as T_id, phone from mm where user_id='A'
group by phone
skyinfo 2004-12-02
  • 打赏
  • 举报
回复
DECLARE @t TABLE(T_id INT IDENTITY,[user_id] CHAR(1),PHONE CHAR(1))
INSERT INTO @t
SELECT 'A','C'
UNION ALL SELECT 'B','F'
UNION ALL SELECT 'A','B'
UNION ALL SELECT 'A','B'
UNION ALL SELECT 'A','F'
UNION ALL SELECT 'A','F'


SELECT A.* FROM @T AS A WHERE A.[user_id]='A' AND A.[T_id] IN (SELECT MAX(T_id) FROM @T GROUP BY phone)
Andy__Huang 2004-12-02
  • 打赏
  • 举报
回复
select T_id=max(T_id) from tb where user_id='A' group by phone
ganh 2004-12-02
  • 打赏
  • 举报
回复
请问SQL语句怎么写

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧