已采纳回答 / neil_fish
这是因为 g.cate_id = c.cate_id 只是 ON 语句(表连接的条件)。 而在SELECT语句下,并没有选取g.cate_id或者c.cate_id。 所以SQL在内部根据ON连接c和g两张表以后,再提取的列里并不含有cate_id,所以最后是不会查看到这一列的。
2017-01-07
已采纳回答 / JOHN47
SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price >= (SELECT ROUND(AVG(goods_price),2) FROM tdb_goods);
2017-01-07
最赞回答 / Gemma_Tong
用group by进行分组时,只会输出分组相同的第一条记录。所以你这样group by之后,得到的结果是sex age0 29NULL 33.然后在这里面,再去判断是否有age<20,那自然是没了~。一般来说having条件是非聚合函数的话是没什么意义的,那还不如where提前就筛选掉呢~
2017-01-06
已采纳回答 / 画方为圆
你的问题到底是。写了这个代码为什么只更新第一行的数据还是。如何只更新第一行的数据?如果是问这个代码为什么只更新第一行的数据。因为你这个更新给了WHERE age=26的这个条件。只有满足这个条件的行才会更新,所以就是说。你的第一行也仅仅只有第一行满足这个age=26的这个条件。所以才只会更新第一行
2017-01-06