题目(一) 订单中有多个商品,想要查询订单表(Orders)中同时包含有商品A、商品B、商品C等的所有订单信息。 希望得到如下结果: 解答 解题思路
查询出商品品种有哪些。查询每个订单拥有商品品种的数量。按照商品品种数量倒序排序,取最顶部的一个。 (Mysql) SELECT b.order_id FROM test_7_orders b WHERE EXISTS ( SELECT a.goods FROM test_7_orders a GROUP BY a.goods ) GROUP BY b.order_id ORDER BY count(b.order_id) DESC LIMIT 1======================================================== 题目(二) 你能写一个 SQL 查询语句,找到只出现过一次的数字中,最大的一个数字吗?下面是测试数据。 对于上面给出的样例数据,你的查询语句应该返回如下结果: 解答 解题思路
聚合函数分组查出每个数出现的次数。按照次数倒序排序,并按照数字倒序排序,查询顶部的一个。 (MySQL) SELECT a.num FROM test_8_num a GROUP BY a.num ORDER BY count(a.num) DESC, a.num DESC LIMIT 1