‘壹’ sql语句问题,列出一张当天的交易表中,所有人交易额最大的一笔交易
这就是所有人每人当天的最大交易金额
select name,max(money) from 表 group by name,to_char(time,'yyyy-mm-dd')
那就再套一层,利用name和money值相等的关系,
select name,time,money from 表 where name,money in(select name,max(money) from 表 group by name,to_char(time,'yyyy-mm-dd'))
或者tj_angela那么写,用开窗函数也可以。
如果你那的时间就是你写的那样,那么就不需要写to_char(time,'yyyy-mm-dd')了。
‘贰’ oracle中如何用sql实现查出某一张表中,某个字段的值最大的10条记录
用row_number() over ()按那个字段从大到小进行编号,然后取编号值小于等于10的记录。
仅仅用order by和rownum结合的方式好像结果不正确,需要都嵌套了查询。
‘叁’ 请教如何用SQL语句实现查出表中某时间段内消费最多的5个人,谢谢大师们!
SELECT top 5 code,SUM(xfje) 消费金额合计
FROM A表 JOIN B表 ON A表.kahao=B表.kahao
where A表.date between 开始日期 and 结束日期 and A表.time between 开始时间 and 结束时间
group by code
order by 消费金额合计 desc
‘肆’ 用sql语句查询金额大于50元的记录怎么写
select * from 表名 where 金额字段名 > 50;
把上述语句中的中文描述换成实际名称即可。这是最基本的SQL语句,建议题主找一些SQL方面的书学习一下。
‘伍’ 表里有客户姓名,交易时间,交易金额等字段,sql语句如何取交易金额最大的前一百条在线等,谢谢!
SELECT * FROM 表名 WHERE ROWID <100 ORDER BY 交易金额 DES
希望对你有帮助。
‘陆’ SQL 列出本月消费最多的10位客户 语句怎么写
select top 10 * from 表 order by 消费 desc按照消费降序排列,也就是由高到低排,然后再找出前10条。
‘柒’ SQL语句,提取表中数量最大数的前20个! 加分!
这个sql不用max就可以吧 反向排序就可以了
select top 20 * from book order by reads desc
‘捌’ 用SQL语句如何求出一列最大的10个值
顶4楼,分析的很对,2、3楼的说法的确是sqlserver的写法。
附例子:
在ORACLE中实现SELECT
TOP
N
由于ORACLE不支持SELECT
TOP语句,所以在ORACLE中经常是用ORDER
BY跟ROWNUM的组合来实现SELECT
TOP
N的查询。
简单地说,实现方法如下所示:
SELECT
列名1...列名n
FROM
(SELECT
列名1...列名n
FROM
表名
ORDER
BY
列名1...列名n)
WHERE
ROWNUM
<=
N(抽出记录数)
ORDER
BY
ROWNUM
ASC
下面举个例子简单说明一下。
顾客表customer(id,name)有如下数据:
ID
NAME
01
first
02
Second
03
third
04
forth
05
fifth
06
sixth
07
seventh
08
eighth
09
ninth
10
tenth
11
last
则按NAME的字母顺抽出前三个顾客的SQL语句如下所示:
SELECT
*
FROM
(SELECT
*
FROM
CUSTOMER
ORDER
BY
NAME)
WHERE
ROWNUM
<=
3
ORDER
BY
ROWNUM
ASC
输出结果为:
ID
NAME
08
eighth
05
fifth
01
first