❶ sql查询每天有哪些人购买了相同的物品
测试数据
createtabletest
(datevarchar(8),
namevarchar(10),
ynamevarchar(10))
insertintotestvalues('20130102','葛四','A药品')
insertintotestvalues('20130103','猪九','A药品')
insertintotestvalues('20130103','赵七','A药品')
insertintotestvalues('20130102','赵云','D药品')
insertintotestvalues('20130102','张七','D药品')
insertintotestvalues('20130102','王五','B药品')
insertintotestvalues('20130102','朱六','C药品')
insertintotestvalues('20130101','王五','C药品')
insertintotestvalues('20130101','李四','B药品')
insertintotestvalues('20130101','李四','A药品')
insertintotestvalues('20130101','张三','B药品')
insertintotestvalues('20130101','张三','A药品')
运行
selecta.date,a.name,b.name,a.yname
from
(selectdate,name,yname,row_number()over(partitionbydate,nameorderbyyname)rnfromtest)a,
(selectdate,name,yname,row_number()over(partitionbydate,nameorderbyyname)rnfromtest)b
wherea.date=b.dateanda.name<b.nameanda.yname=b.ynameanda.rn=b.rn
结果
不过这种貌似,如果象第一二条,数据,如果李四或张三多买一种C药品的话,前两条也能查出来,你还是先说明你什么数据库吧,以及对我上边提及的怎么处理
❷ 如何使用SQL语句在一个表中查询: 同一个人购买两个以上相同产品的记录要求显示所有符合条件的人.
select SaleID,GoodsID from Table
group by SaleID,GoodsID
例如:
select f1,f2,...,fn
from table
group by f1,f2,...,fn
having count(1)>1 查出存在相同的f1,f2,..,fn
想查找出记录则
select t1.* from table t1
(2)sql查询购买人数扩展阅读:
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ (所有包含‘value1’这个模式的字符串)
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
❸ 查询每个读者的订购数量,要求显示读者名、数量,写出对应SQL语句
很基础的sql语句。
select 订购数量,读者名
from 表
希望可以帮到你,望采纳
❹ VFP使用SQL语句查询每个读者订购图书的数量和金额(数量*单价),查询结果包括客户名、订购
select 客户名,订购册数,(数量*单价) as 金额 from 读者信息 order by 金额 desc into table apptwo.dbf
其实不知道你的表名,我默认为读者信息了,还有就是不知道这几个字段是否来自一张表,如果不是,你还需要对上述语句进行修改,在每个字段前加上表名,如读者信息.客户名。然后from后面也加上另一个表名,再跟上where语句。
至于保存在ap亥袱忿惶莜耗冯同辅括ptwo命令文件,则只需要新建一个命令文件,将上述语句复制粘贴进去,保存为apptwo即可
不清楚的话,欢迎追问,我看到的话会尽快回复的
❺ 查询2016年购买商品数量最多的10个用户,并说明应如何优化sql
SELECTTOP10CustomerID--前10条
,Amount
FROM(
SELECTCustomerID
,SUM(Amount)ASAmount
FROMSales
GROUPBYCustomerID
)D
ORDERBYAmountDESC--倒序
优化:加上时间范围
❻ SQL订单查询,把所有一次性购买超过1万块的订单客户名称及购买的商品名称
亲,最好把你查询的表字段,及关联表写出来。
select 订单表. 客户名称, 订单清单表.商品名称 from 订单表 inner join 订单清单表
on 订单表.主键=订单清单表.订单表的关联字段
inner join (
select 订单主键 ,sum(订单金额) je from 订单清单表
group by 订单主键
having by sum(订单金额)>10000
) 大于10000的订单 on 大于10000的订单.订单主键=订单表.主键
❼ 表employee和orders,使用sql命令检索订单人数最多的前三名职工的职工号,姓名和订单数
没错,其实差别就在 COUNT(orders.订购单号) AS 订单数 和
COUNT(*) AS 订单数
他俩的唯一区别就是,如果有订单号为NULL的情况下COUNT(orders.订购单号)不把这个空计算在内,而COUNT(*)则把这个空值也算做有效
❽ sql问题,一个产品有多少个用户购买
请采用以下的脚本试试
select[产品],count(distinct[用户])from[表]groupby[产品]
如有疑问,及时沟通
请采纳!
❾ SQL 语句中想查询购买同一类货品的所有客户,如何实现
表 AA a 为货物名称 b 为客户名称
select b from where a = '水产类' group by b
❿ 订单列表查询SQL,查询出订单的数量和订单详细信息(包括订单中的所有商品)。
select m.订单编号,m.订单总额 , d.商品名称 , d.商品单价
from order_t m,order_good_t d
where m.订单编号 = d.订单编号
(10)sql查询购买人数扩展阅读:
SQL中最常见的操作(查询)使用声明性SELECT语句。 SELECT从一个或多个表或表达式中检索数据。标准SELECT语句对数据库没有持久影响。 SELECT的一些非标准实现可以具有持久性效果,例如某些数据库中提供的SELECT INTO语法。
WHERE子句包含比较谓词,它限制查询返回的行。 WHERE子句从结果集中删除比较谓词未计算为True的所有行。
GROUP BY子句将具有公共值的行投影到较小的行集中。 GROUP BY通常与SQL聚合函数结合使用,或者从结果集中消除重复的行。 WHERE子句在GROUP BY子句之前应用。