求一个查询语句?
有一个表
字段如下:
A B C D
00 1 1 1
01 1 1 1
02 1 1 1
我怎么样才能既能取到A字段 又只取一条
结果如下 A B C D
000102 1 1 1
如果或者只取
A B C D
00 1 1 1
因为我用到了GROUP BY 所以怎么取才合适那
很着急啊,高手帮忙
问题点数:20、回复次数:16Top
1 楼zhangwei1437(zhangwei)回复于 2004-12-02 15:52:55 得分 0
注名:A字段是字符型Top
2 楼lsxaa(小李铅笔刀)回复于 2004-12-02 16:01:23 得分 0
min(A) or max(A)Top
3 楼yesyesyes()回复于 2004-12-02 16:02:30 得分 0
select top 1 * from table
嘿嘿:PTop
4 楼zzy928()回复于 2004-12-02 16:16:30 得分 0
顺便问一下,使用top是不是只能针对整数型的呢,还是字符型的也可以
在线问
谢谢Top
5 楼chenyu112(晨雨)回复于 2004-12-02 16:26:56 得分 0
select top 1 * from tableTop
6 楼acelove(命中注定是菜鸟)回复于 2004-12-02 16:42:24 得分 0
TO:zzy928()
什么类型都没关系,top 1 是只取第一条记录Top
7 楼lsxaa(小李铅笔刀)回复于 2004-12-02 16:52:33 得分 0
--建一个函数
create function c_str(@b varchar(1),@c varchar(1),@d varchar(1))
returns varchar(1000)
as
begin
declare @s varchar(1000)
set @s=''
select @s=@s+a from t where b=@b and c=@c and d=@d
return @s
end
--查询
select dbo.c_str(b,c,d),b,c,d
from t
group by b,c,dTop
8 楼lsxaa(小李铅笔刀)回复于 2004-12-02 17:06:41 得分 0
--查询
select top 1 dbo.c_str(b,c,d),b,c,d
from t
group by b,c,d
Top
9 楼zzy928()回复于 2004-12-02 17:09:59 得分 0
谢谢 acelove(真心小英雄)
我知道了,哈哈Top
10 楼zhangwei1437(zhangwei)回复于 2004-12-02 17:14:47 得分 0
不好意思,还得麻烦你,帮我看看老大
SELECT xfwh.ls_rq, SUM(xfwh.cpsl * xfwh.wlsl * xfwh.wldj) AS chengben, table2.ls_renshu,
table2.js_zh, table2.js_dcsj, table2.js_sj, table2.xfsj, table2.js_gzsp, table2.js_ze,
table2.zhekou, CONVERT(numeric(18, 4),
table2.js_ze - SUM(xfwh.cpsl * xfwh.wlsl * xfwh.wldj)) AS maoli, CONVERT(numeric(18,
2), (table2.js_ze - SUM(xfwh.cpsl * xfwh.wlsl * xfwh.wldj)) / table2.js_ze * 100)
AS maolilu, table2.js_xj, table2.js_zp, table2.js_xyk, table2.js_shk, table2.js_gz,
table2.js_pd, table2.js_yh, table2.js_ml, table2.js_zksp,
CAST(table2.xfsj / 60 AS varchar(10))
+ '小时' + CAST(table2.xfsj % 60 AS varchar(10)) + '分钟' AS ff, table2.cc
FROM (SELECT xfjlb.ls_renshu, xfjlb.ls_fuwuyuan AS cc, table1.xfsj, table1.js_dcsj,
table1.js_sj, table1.js_gzsp, table1.js_ze, table1.js_zh, table1.zhekou,
table1.js_xj, table1.js_zp, table1.js_xyk, table1.js_shk, table1.js_gz,
table1.js_pd, table1.js_yh, table1.js_ml, table1.js_zksp
FROM (SELECT js_ze, DATEDIFF(minute, js_dcsj, js_sj) AS xfsj, js_dcsj, js_sj,
js_zh, js_gzsp, (js_sjje - js_ze + js_ml) AS zhekou, js_xj, js_zp,
js_xyk, js_shk, js_gz, js_pd, js_yh, js_ml, js_zksp
FROM jiesuan
GROUP BY js_dcsj, js_sj, js_gzsp, js_ze, js_zh, js_sjje, js_ml, js_xj, js_zp,
js_xyk, js_shk, js_gz, js_pd, js_yh, js_ml, js_zksp) table1 INNER JOIN
xfjlb ON table1.js_dcsj = xfjlb.ls_sj
GROUP BY xfjlb.ls_renshu, xfjlb.ls_fuwuyuan, table1.xfsj, table1.js_dcsj,
table1.js_sj, table1.js_gzsp, table1.js_ze, table1.js_zh, table1.zhekou,
table1.js_xj, table1.js_zp, table1.js_xyk, table1.js_shk, table1.js_gz,
table1.js_pd, table1.js_yh, table1.js_ml, table1.js_zksp) table2 INNER JOIN
xfwh ON table2.js_dcsj = xfwh.ls_rq
GROUP BY xfwh.ls_rq, table2.js_zh, table2.ls_renshu, table2.js_gzsp, table2.js_ze,
table2.zhekou, table2.js_xj, table2.js_zp, table2.js_xyk, table2.js_shk, table2.js_gz,
table2.js_ml, table2.js_pd, table2.js_yh, table2.js_zksp, table2.js_dcsj, table2.js_sj,
table2.xfsj, table2.cc
我在加上xfjlb.ls_fuwuyuan 之后,记录就变了,因为ls_fuwuyuan 有不同的值,你帮忙看看怎么改比较好啊Top
11 楼lsxaa(小李铅笔刀)回复于 2004-12-02 17:26:14 得分 0
光看语句,是看不懂的
你有几个表,他们之间的关系 要查询出什么来???Top
12 楼zhangwei1437(zhangwei)回复于 2004-12-02 17:44:38 得分 0
我有三个表xfjlb,jiesuan,xfwh
jiesuan中的字段 SJ ZH RENYUAN
6.00 210 XIAOZHANG
7.00 520 XIAOLI
xfjlb中的字段 renshu fuwuyuan dcsj
10 张 6.00
10 张 6.00
10 李 6.00
12 张 7.00
12 张 7.00
xfwh中的字段 sj cpsl je
6.00 1 10
6.00 2 5
6.00 1 10
7.00 1 10
7.00 1 5
我想得到如下结果
sj wh fuwuyuan renyuan
6.00 30 张李(或者张也可以) xiaozhang
7.00 15 张 xiaoli
我都得通过sj 联系,是一对多吧Top
13 楼zhangwei1437(zhangwei)回复于 2004-12-02 17:46:58 得分 0
wh 是cpsl和jg的乘积
另外再加一列是renshu
6.00 10
7.00 12Top
14 楼airfont(草原劣马)回复于 2004-12-02 17:51:34 得分 0
select top 1 * from table where a=00Top
15 楼lsxaa(小李铅笔刀)回复于 2004-12-02 17:54:38 得分 20
没用到 xfjlb 表吧???Top
16 楼zhangwei1437(zhangwei)回复于 2004-12-02 17:59:11 得分 0
用到了xfjlb中的renshu 和fuwuyuanTop




