sql 分组筛选问题

2020-10-30 15:49发布

假设有一个销售表 a, 其中有 日期 date、销售数量 wareqty 、销售价格 saleprice 等字段。现在把他按月汇总,随机抽取每月累计金额 wareqty*saleprice 为的1万 数据明细。这个怎么写?

标签: mssql 分组
3条回答
迷人小祖宗
2楼-- · 2020-10-30 16:10

每月累计金额 wareqty*saleprice 为的1万 数据明细 条件是刚好等于一万 还是大于一万

查看更多
不美不萌又怎样
3楼-- · 2020-10-30 16:14

不知道理解得对不对

SELECT

FROM
a
WHERE
DATE_FORMAT(date, '%Y-%m') = (
select date from(
SELECT

FROM
(
SELECT
DATE_FORMAT(date, '%Y-%m') AS date,
sum(wareqty * saleprice) AS sum
FROM
a
GROUP BY
DATE_FORMAT(date, '%Y-%m')
) m
WHERE
m.sum = 10000
ORDER BY
rand()
LIMIT 1
) n
)

查看更多
太酷不给撩
4楼-- · 2020-10-30 16:30

你可以先根据data来group by,求出来的date用left来截取年月(比如data格式是2018-10-01,用left(data,7) as date),然后再用data来group by一下where wareqty*saleprice =10000就好

查看更多
登录 后发表回答