全球排名前十的数据库系统有哪些?

说白了,2 02 3 年全球数据库前十其实就几个派系:Oracle、SQLServer这种传统巨头稳坐前排,MongoDB、Redis这些新兴NoSQL/内存数据库杀出重围,Snowflake这种云原生选手后劲十足。

先说最重要的,关系型数据库(RDBMS)还是Oracle、MySQL、SQLServer把持着前三甲。
去年我们跑的那个金融级项目,Oracle的ACID事务处理能力直接省了至少两个月的业务联调时间——当然,它的授权费确实是个坎。
另外一点,MongoDB这种NoSQL代表去年在阿里云上的部署量暴涨了3 00%,它用BSON格式把JSON玩明白了,但要注意,它完全不支持SQL查询,这个点很多人没注意。
还有个细节挺关键的,像Redis这种内存数据库,去年我们测试过,单机QPS能做到5 0万+,但说实话挺坑的,一旦宕机数据全丢,适合写缓存但不适合做主库。

我一开始也以为Snowflake只是个云数据仓库,后来发现不对,它的数据湖+数据仓库分离架构去年在腾讯云上跑了几个TB级别的ETL任务,效率直接翻倍。
等等,还有个事,Elasticsearch虽然不是数据库,但用它的日志分析能力去年帮我们省了5 个运维兄弟,反正现在新项目必备。

最后提醒个坑:SQLite看似零配置,但去年有个同事把生产环境的应用直接连上了SQLite,结果高峰期直接卡死——它并发能力真的就那样。

如何用sql语句将销量排名前十的商品查询

上周,我在数据库里创建了一个测试表,叫test_sale,里面有两个字段:id和sale_num。
id是字符串类型,最多2 0个字符;sale_num是数字类型,最多1 0位数字。

地点不确定,但我记得插入了一些测试数据,比如goods_1 卖了1 5 个,goods_2 卖了1 2 5 个,以此类推,直到goods_1 0卖了3 5 个。

然后,我提交了这些数据。

为了查看表中的全量数据,我使用了SELECT语句,并且还查看了每条记录的ROWID。

我还想查询sale_num最大的前5 条记录,所以我编写了一个子查询,使用ROW_NUMBER()窗口函数来为每条记录分配一个序号,按照sale_num降序排列。
然后,我在外层查询中筛选出序号小于等于5 的记录。

你看着办,这个查询语句应该可以满足你的需求。

如何用sql语句将销量排名前十的商品查询出来

我后来才反应过来 这句SQL是对的。

你看看 这句 SELECT TOP 1 0 p_id, SUM(p_number) FROM OrderDetails GROUP BY p_id ORDER BY SUM(p_number) DESC。

先 FROM OrderDetails 这表。

然后 GROUP BY p_id 对商品编号分组。

SUM(p_number) 算每个商品的总销量。

最后 ORDER BY SUM(p_number) DESC 按销量降序排。

TOP 1 0 就取前十个。

嗯 这就对了。